Curie, end to end.
Curie's surface area is small — a single binary, a single config file. The docs below cover each subsystem you'll hit as your project grows.
Where to start
If you haven't built anything yet, run through Get started first. It takes about five minutes and leaves you with a working JAR you can run. Once that's clicking, the topics below dive into each piece.
Topics
Resolver & checksums
How Curie pulls JARs from Maven Central, expands transitives, applies BOM imports, and verifies every artifact against a .sha256 sidecar.
Kotlin support
Auto-detected .kt sources, two-phase Kotlin/Java compile, automatic Kotlin main-class detection, stale-class cleanup.
Incremental builds
The mtime check, the JDK fingerprint, the per-source class manifest the wrapper emits, and how all three combine into a precise rebuild gate.
04Workspaces
Multi-module projects under one root Curie.toml. Topo-sorted builds, inherited BOM imports, shared Java version.
Reference
The Resolver page lists every TOML key in the dependency section. Workspaces covers the inheritance rules. If something isn't documented, treat it as not yet stable — Curie is a research project and the surface area is intentionally small until each piece has had time to settle.
Source & issues
The codebase lives on GitHub. Issues, design discussions, and merge requests are all welcome.