Subsystem · scaffold

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:

$ curie new app hello --package com.example
Created hello/Curie.toml
Created hello/src/com.example/Hello.java

Run `curie build` inside hello/ to compile and package.

The generated Curie.toml:

hello/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:

$ mkdir my-project && cd my-project
$ curie init app --package com.example
Created Curie.toml
Created src/com.example/MyProject.java

Project kinds

KindGeneratesUse 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

OptionEffect
--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.