Operating contract
One authoritative rule set in the repository, loaded through thin adapters that are checked for duplication. Entry points are pointers, never rules of their own.
Coding agents are good at writing code and bad at remembering why. ForgeOS gives them what a serious codebase already assumes: a durable project memory, write permissions a human opens deliberately, and validation that has to produce evidence before anything may be called done. The rules are not advice in a document — where it matters, a machine enforces them.
12 validation checks — 8 gating · 251 self-test cases per shell · 144 policy controls · Windows PowerShell 5.1 and POSIX bash, held identical by CI
$ bash scripts/validation/check-all.sh
structure passed gating
policy passed gating 144 controls
links passed gating 0 broken
secrets passed gating 0 findings
hook-selftest passed gating 251 cases
...
VALIDATION PASSED: every gating check exited 0.
Every capability below ships in v1.20.1 and is checked mechanically — nothing here is a promise. What changed in this release.
One authoritative rule set in the repository, loaded through thin adapters that are checked for duplication. Entry points are pointers, never rules of their own.
Decisions, lessons, incidents, handoffs, and an open-questions register live as files in the repository — so a decision never survives only in a chat log.
Application paths stay closed until a human opens them. A narrow implementation window authorizes one slice of work, not the whole codebase — and it fails closed in every direction.
Destructive commands, writes into an undefined project, and secret-shaped strings are refused before they run — with the reason, and with 251 self-test cases per shell proving the hooks still block what they must.
Work moves inbox → active → completed, and a closure gate refuses any task carrying unchecked criteria or placeholder review evidence.
Twelve checks — eight of them gating — run by one command, with identical behavior on Windows and POSIX enforced again in CI.
A preview that oversells is worse than one that waits. What is not yet proven is listed as not proven — the roadmap below names what is deliberately not built.
Two ways in. Both end at the same place: your project carries the portable half of ForgeOS and passes its own validation suite. There is no curl-into-a-shell — ForgeOS's own safety hook refuses it.
Download the archive and its checksum from the latest release, verify before you trust it, then sync into your project. The first sync is a dry run; review it, then apply. The same two steps upgrade a project that already adopted ForgeOS: files you customized are skipped, and your own records are never touched.
sha256sum -c forgeos-1.20.1.tar.gz.sha256
tar -xzf forgeos-1.20.1.tar.gz
bash forgeos-1.20.1/scripts/blueprint/sync-blueprint.sh --source forgeos-1.20.1 --target <project>
bash forgeos-1.20.1/scripts/blueprint/sync-blueprint.sh --source forgeos-1.20.1 --target <project> --apply (Get-FileHash -Algorithm SHA256 forgeos-1.20.1.tar.gz).Hash
tar -xzf forgeos-1.20.1.tar.gz
powershell -NoProfile -ExecutionPolicy Bypass -File forgeos-1.20.1/scripts/blueprint/sync-blueprint.ps1 -Source forgeos-1.20.1 -Target <project>
powershell -NoProfile -ExecutionPolicy Bypass -File forgeos-1.20.1/scripts/blueprint/sync-blueprint.ps1 -Source forgeos-1.20.1 -Target <project> -Apply Start a new project from the repository itself — then make the history yours.
git clone https://github.com/Anasabdellatif/forgeos.git my-project
cd my-project
rm -rf .git && git init -b main The platform installers write a local command shim or launcher into a directory you choose. They fetch nothing, do not edit PATH, and verify a checksum when the source came from a release artifact.
bash scripts/install/install-forgeos.sh --source <forgeos> --destination <tools-dir>
bash scripts/install/install-forgeos.sh --source <forgeos> --destination <tools-dir> --apply
<tools-dir>/forgeos doctor powershell -NoProfile -ExecutionPolicy Bypass -File scripts/install/install-forgeos.ps1 -Source <forgeos> -Destination <tools-dir>
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/install/install-forgeos.ps1 -Source <forgeos> -Destination <tools-dir> -Apply
<tools-dir>\forgeos.ps1 doctor The first run is expected to report unfilled markers: those are the facts your project must supply. The adoption step is the product — an unadopted blueprint gives structure with no knowledge.
bash scripts/validation/check-all.sh powershell -NoProfile -ExecutionPolicy Bypass -File scripts/validation/check-all.ps1 No package managers yet — deliberately. Each channel is deferred on the roadmap with its blocker named. A local forgeos command and per-platform installer scripts ship in the repository, both proven on the platforms they claim.
Reading commands answer. Writing commands dry-run by default and write only under --apply — and --force is never exposed.
forgeos status Where the project is: state ledger, work, gates, validation, and next capability read-only forgeos next The next safe slice of work, with a drafted governance window and a copyable prompt read-only forgeos prompt The complete next-session package: scope, policy, reading order, validation plan, and a paste-ready prompt read-only forgeos brief The same next-session package held to a strict size budget, measured by the command itself read-only forgeos intake What kind of project this is, how ready it is, and which prompt family the next session belongs to read-only forgeos doctor Prerequisite report: shell, JSON reader, git, hook wiring, line endings, and manifest read-only forgeos version Which ForgeOS this is; an unknown release is reported unknown, never inferred read-only forgeos adopt Bring ForgeOS into a project by delegating to sync-blueprint dry-run by default forgeos update Refresh an adopted project; refuses a target that never adopted dry-run by default /discovery Define an undefined project — six phases, fires automatically /adopt Fill the blueprint from an existing codebase /start-task Turn a request into a bounded task with observable criteria /implement Apply it as the smallest complete change /review Independent correctness, safety, and evidence check /finish-task Close only after the full Definition of Done /handoff Continuation record for another session /adr Record a durable decision /build-context Package deterministic context for transfer /blueprint-validate Run every check What is not yet proven is listed as not proven. The full roadmap — including what is deliberately not being built — lives in the repository.
Now
Next
Later