Scaffolding
curie new and curie init generate a ready-to-build project skeleton — Curie.toml and a starter source file — in one command. No archetype zoo, no interactive wizard.
curie new
Create a new project directory with the given name:
Created hello/Curie.toml Created hello/src/com.example/Hello.java Run `curie build` inside hello/ to compile and package.
The generated Curie.toml:
[application] name = "hello" version = "0.1.0" mainClass = "com.example.Hello"
curie init
Same as curie new but operates in the current directory rather than creating a subdirectory:
$ curie init app --package com.example Created Curie.toml Created src/com.example/MyProject.java
Project kinds
| Kind | Generates | Use when |
|---|---|---|
app |
[application] with a main class |
Standalone runnable JAR, Docker image |
lib |
[library] with no mainClass |
Reusable library, publishable to Maven |
workspace |
[workspace] root with an empty members list |
Multi-module monorepo root |
bom |
[bom] with a commented example dependency |
Maven Bill of Materials — publishes a POM only, no JAR |
Options
| Option | Effect |
|---|---|
--package <pkg> | Java package for the generated source file (default: com.example) |
Source layout
The generated source file uses the flat-package layout by default (src/com.example/Hello.java). This keeps the source tree shallow and is the layout Curie recommends for new projects. If you prefer Maven-style (src/main/java/com/example/Hello.java), move the file — both layouts are supported and can coexist.