# Project samples

<!-- Generated by scripts/sync-project-samples.mts from project/samples/*/metadata.yaml; do not edit by hand. -->

Each template below ships in the `elide` binary. The command creates the project without prompts, using every
default; run `elide init` without flags to choose interactively, or set values as `name=value` after `--`
(see [Project setup](/docs/projects#create-a-project-without-prompts)). For single-file examples, see
[Code samples](/docs/code-samples).

## Java Hello World Project

Simple Elide JVM project that prints a greeting.

```bash
elide init --plain --skip-defaults --template java
```

| Parameter | Default | Meaning |
| --- | --- | --- |
| `project_name` | `Sample Project` | The name of your project. |
| `package` | `com.example` | The main Java package of your project. |
| `main_class` | `Hello` | The main Java class of your project. |
| `greeting` | `Hello Elide!` | The greeting printed to console. |

| Block | On by default | Adds |
| --- | --- | --- |
| `tests` | Yes | Generate tests for your project. |
| `mcp` | No | Use MCP in your project. |

After generating, `elide init` runs `elide build`, then `elide run` unless `--skip-run` is passed.

## Kotlin Hello World Project

Simple Elide Kotlin/JVM project that prints a greeting.

```bash
elide init --plain --skip-defaults --template ktjvm
```

| Parameter | Default | Meaning |
| --- | --- | --- |
| `project_name` | `Sample Project` | The name of your project. |
| `package` | `com.example` | The main Kotlin package of your project. |
| `main_class` | `Hello` | The main Kotlin file of your project. |
| `greeting` | `Hello Elide!` | The greeting printed to console. |

| Block | On by default | Adds |
| --- | --- | --- |
| `tests` | Yes | Generate tests for your project. |
| `mcp` | No | Use MCP in your project. |

After generating, `elide init` runs `elide build`, then `elide run` unless `--skip-run` is passed.

## Spring Boot Application

Build and run a Java spring application with Elide.

```bash
elide init --plain --skip-defaults --template spring
```

| Parameter | Default | Meaning |
| --- | --- | --- |
| `project_name` | `spring-app` | The name of your project. |
| `package` | `com.example` | The main Java package of your project. |
| `main_class` | `Application` | The application main class. |

| Block | On by default | Adds |
| --- | --- | --- |
| `tests` | Yes | Generate an application context test. |

After generating, `elide init` runs `elide build` unless `--skip-run` is passed.

## Micronaut Application

Build and run a Java micronaut application with Elide.

```bash
elide init --plain --skip-defaults --template micronaut
```

| Parameter | Default | Meaning |
| --- | --- | --- |
| `project_name` | `micronaut-app` | The name of your project. |
| `package` | `com.example` | The main Java package of your project. |
| `main_class` | `Application` | The application main class. |

| Block | On by default | Adds |
| --- | --- | --- |
| `tests` | Yes | Generate an application context test. |

After generating, `elide init` runs `elide build` unless `--skip-run` is passed.

## Android Compose App

Kotlin Android application with a Jetpack Compose screen, built and signed by Elide.

```bash
elide init --plain --skip-defaults --template android
```

| Parameter | Default | Meaning |
| --- | --- | --- |
| `project_name` | `android-app` | The name of your project. |
| `app_name` | `Elide Android App` | The name the launcher shows for your app. |
| `package` | `com.example.app` | The Kotlin package of your app, also its namespace and application id. |
| `greeting` | `Hello Elide!` | The greeting your app shows. |

| Block | On by default | Adds |
| --- | --- | --- |
| `mcp` | No | Use MCP in your project. |

## Web Starter Project

A barebones static site template for web projects

```bash
elide init --plain --skip-defaults --template web-simple
```

| Parameter | Default | Meaning |
| --- | --- | --- |
| `project_name` | `Sample Project` | The name of your project. |
| `project_description` | `A static site` | Project description |
| `minify_html` | `true` | Reduces the size of output HTML files |
| `minify_css` | `true` | Reduces the size of output CSS files |

| Block | On by default | Adds |
| --- | --- | --- |
| `mcp` | No | Use MCP in your project. |

After generating, `elide init` runs `elide build` unless `--skip-run` is passed.

## Web Demo Project

A static site demo for web projects

```bash
elide init --plain --skip-defaults --template web-demo
```

| Parameter | Default | Meaning |
| --- | --- | --- |
| `project_name` | `Sample Project` | The name of your project. |
| `project_description` | `A static site` | Project description |
| `minify_html` | `true` | Reduces the size of output HTML files |
| `minify_css` | `true` | Reduces the size of output CSS files |

| Block | On by default | Adds |
| --- | --- | --- |
| `mcp` | No | Use MCP in your project. |

After generating, `elide init` runs `elide build` unless `--skip-run` is passed.

## Kotlin Workspace Project

Multi-project Elide workspace with a library and an app that depends on it.

```bash
elide init --plain --skip-defaults --template workspace
```

| Parameter | Default | Meaning |
| --- | --- | --- |
| `project_name` | `sample-workspace` | The name of your workspace root project; the two members generated here are named after it. |
| `package` | `com.example` | The base Kotlin package of your projects. |
| `greeting` | `Hello Elide!` | The greeting printed to console. |

| Block | On by default | Adds |
| --- | --- | --- |
| `tests` | Yes | Generate tests for the library project. |
| `mcp` | No | Use MCP in your project. |

After generating, `elide init` runs `elide build` unless `--skip-run` is passed.

## Shared Testcontainers

JavaScript and JUnit tests share a disposable HTTP container. Requires a Docker-compatible daemon.

```bash
elide init --plain --skip-defaults --template testcontainers
```

After generating, `elide init` runs `elide test` unless `--skip-run` is passed.
