Project
Creating a project
Concrete projects are plain directories — there is no generator command (a concrete new scaffolding command is roadmap Phase 18 work, not implemented today). Create the two files by hand:
mkdir my_project
cd my_project
Concrete.toml:
[package]
name = "my_project"
version = "0.1.0"
license = "MIT"
src/main.con:
mod my_project {
fn main() with(Std) -> Int {
println("hello");
return 0;
}
}
Building A Project
concrete build # compile the package
concrete run # compile and run src/main.con
concrete test # run #[test] functions
The manifest drives the project model: [package] metadata, the src/ layout, and (for examples in this repository) dependency on the std package. See any examples/*/Concrete.toml for a working manifest.
Current State
The project/package workflow is still evolving. Today:
- the manifest +
src/layout is the supported project shape - it is not yet the final long-term package/dependency model
- the roadmap treats package/dependency ecosystem work as a later explicit phase
If you are working directly on the language or compiler, you will still often use the repository-level workflow rather than the project flow.