@contractspec/example.opencode-cli
v2.8.21
Published
**OpenCode CLI example showing agent-mode contract building and validation.**
Readme
@contractspec/example.opencode-cli
OpenCode CLI example showing agent-mode contract building and validation.
What This Demonstrates
- Agent-mode (
--agent-mode opencode) contract compilation. - Implementation checking via
--check-implementation. - Maintained example package included in the ContractSpec example registry.
src/contracts/contains contract specs, operations, entities, and registry exports.src/docs/contains docblocks and documentation-facing exports.src/handlers/contains handlers or demo adapters wired to contract surfaces.
Running Locally
From packages/examples/opencode-cli:
bun run buildbun run testbun run typecheckbun run smokebun run preflight
Usage
Use @contractspec/example.opencode-cli as a reference implementation, or import its exported surfaces into a workspace that composes ContractSpec examples and bundles.
Architecture
src/contracts/contains contract specs, operations, entities, and registry exports.src/docs/contains docblocks and documentation-facing exports.src/example.tsis the runnable example entrypoint.src/handlers/contains handlers or demo adapters wired to contract surfaces.src/index.tsis the root public barrel and package entrypoint.src/opencode-cli.feature.tsdefines a feature entrypoint.
Public Entry Points
- Export
.resolves through./src/index.ts. - Export
./contracts/opencoderesolves through./src/contracts/opencode.contracts.ts. - Export
./docsresolves through./src/docs/index.ts. - Export
./docs/opencode-cli.docblockresolves through./src/docs/opencode-cli.docblock.ts. - Export
./exampleresolves through./src/example.ts. - Export
./opencode-cli.featureresolves through./src/opencode-cli.feature.ts.
Local Commands
bun run build— bun ../../apps/cli-contractspec/src/cli.ts build src/contracts/opencode.contracts.ts --agent-mode opencodebun run validate— bun ../../apps/cli-contractspec/src/cli.ts validate src/contracts/opencode.contracts.ts --check-implementation --agent-mode opencodebun run typecheck— tsc --noEmitbun run test— bun testbun run smoke— bun test src/example.smoke.test.tsbun run preflight— bun run build && bun run typecheck && bun run test && bun run validate && bun run smoke
Recent Updates
- Replace eslint+prettier by biomejs to optimize speed.
- Stability.
- Missing contract layers.
Notes
- Works alongside
@contractspec/lib.contracts-spec,@contractspec/lib.schema.
