Reproducible environment
Anyone — human or agent — can stand up the project from a clean machine and arrive at a working state without tribal knowledge.
- MUSTA clean clone `MUST` reach a working development state using documented steps.AIC-clean-clone-bootstrap
- MUSTThe dependency lockfile `MUST` be committed to version control.AIC-lockfile-committed
- MUSTThe package manager version `MUST` be pinned when the ecosystem allows it.AIC-package-manager-pinned
- MUSTThe runtime version `MUST` be pinned.AIC-runtime-version-pinned
- MUSTMulti-package repositories `MUST` have a deterministic build order.AIC-deterministic-build-order
- MUSTCI `MUST` reject changes that would invalidate the committed lockfile (for example via `--frozen-lockfile`, `npm ci`, `pip --require-hashes`, or equivalent).AIC-lockfile-enforced-in-ci
- MUSTDependency lockfiles `MUST` include integrity hashes where the ecosystem supports them, and CI `MUST` fail when integrity verification fails.AIC-lockfile-integrity-hashes
- SHOULDHeavy builds `SHOULD` document memory, CPU, or platform prerequisites.AIC-heavy-build-prerequisites
- SHOULDBrowser, runtime, and platform targets `SHOULD` be explicit.AIC-platform-targets-explicit
- MAYThe repository `MAY` provide containerized or sandboxed development environments for stronger consistency.AIC-containerized-dev-env