Flock
Flock is the Kestrel build tool and package manager. It scaffolds projects, resolves dependencies, builds and runs binaries, and produces release artifacts. If you've used Cargo, npm, or go modules, the shape will feel familiar.
Day-to-day commands
flock init # create a flock.toml in the current directory
flock build # compile (incremental)
flock run # build and run
flock check # type-check without producing a binary
flock run is what you'll use most. It's incremental — second runs only rebuild what changed.
Project layout
After flock init and creating your entry point, a project looks like:
my-project/
flock.toml — manifest
src/
main.ks
target/ — build output, gitignored
flock.toml declares the package name, version, and dependencies. A small one:
[package]
name = "my-project"
version = "0.1.0"
[dependencies]
Adding a dependency
Add the dependency to flock.toml under [dependencies]:
[dependencies]
serde = "0.4"
On the next flock build, Flock fetches the dependency and writes a lockfile (flock.lock) pinning the resolved version graph. Commit flock.lock for applications; libraries usually don't.
More
For deeper Flock usage — the manifest format, dependency resolution, and publishing — see Tooling → Flock. For first-time setup, you've already done it: flock is included in the install.