BANG specifies software systems as networks of related theories and projects their accumulated contracts into executable conformance boundaries.
The first completed vertical missions are M000 executable specification spine, M001 refined domain value, M002 one theory and one finite model, M003 generated algebraic law suite, and M004 state transition and invariant preservation. The capability dependency map records the current route—including the first useful dogfood dependency—without treating unexercised architecture as settled.
This is the monorepo for the whole BANG project: specification language, Core, compilers, target projections, conformance tools, build system, theory and realization registry, documentation, and any future implementation language. See the repository map. Subsystems become packages only under pressure from an active mission.
just install
just previewThe current demonstrations decode a Core service, a refined Balance, a finite Account Lifecycle model, an integer-addition law, and an Account state machine; reject invalid declarations and illegal transition inputs; generate Effect boundaries and property suites; return finite, algebraic, and invariant-preservation counterexamples; and write scoped evidence manifests under .bang/evidence/.
The install prepares the pinned @effect/tsgo language server. VS Code-family editors use the repository settings under .vscode/; other editors should invoke the executable reported by bunx effect-tsgo get-exe-path. Run bun run check:effect-lsp to observe both the clean project and a deliberately floating Effect counterexample.
Run just to list the repository task surface. just verify is the same readiness contract used by GitHub Actions. Native Git hooks apply safe fixes and static checks before commits, enforce Conventional Commits, and run tests before pushes.
Read BANG-PROJECT-DIRECTION.md for the project constitution. The three previous attempts remain external historical references; they are not merged into this repository.
This project is published as phibkro/bang-project. The existing phibkro/bang, phibkro/bang-lang, and phibkro/semantic-systems repositories remain attached to earlier attempts and serve only as historical references.