@contractspec/example.knowledge-canon
v3.8.0
Published
Knowledge example – Product Canon space (blueprint + tenant config + source sample + runtime helper).
Readme
@contractspec/example.knowledge-canon
Website: https://contractspec.io
Knowledge example – Product Canon space (blueprint + tenant config + source sample + real lib.knowledge retrieval helper).
What This Demonstrates
- Canonical
knowledge-spaceexport viaProductCanonKnowledgeSpace. - Lightweight
app-configexample viadefineAppConfig(...). - Multi-tenant configuration for knowledge bases.
- Source sample for content ingestion.
- Agent helper backed by
@contractspec/lib.knowledgestatic retrieval. - Minimal contract-only example pattern.
src/docs/contains docblocks and documentation-facing exports.
Running Locally
From packages/examples/knowledge-canon:
bun run devbun run buildbun run testbun run typecheck
Usage
Use @contractspec/example.knowledge-canon as a reference implementation, or import its exported surfaces into a workspace that composes ContractSpec examples and bundles.
The public answerWithKnowledge(...) helper now performs a real retrieval step through @contractspec/lib.knowledge, so the example is suitable as a copy-pasteable lightweight knowledge-routing pattern.
Architecture
src/agent.tsis part of the package's public or composition surface.src/blueprint.tsis part of the package's public or composition surface.src/docs/contains docblocks and documentation-facing exports.src/example.tsis the package example manifest/metadata entrypoint.src/index.tsis the root public barrel and package entrypoint.src/knowledge-canon.feature.tsdefines a feature entrypoint.src/product-canon.space.tsdefines the exported knowledge-space spec.src/source.sample.tsis part of the package's public or composition surface.
Public Entry Points
- Export
.resolves through./src/index.ts. - Export
./agentresolves through./src/agent.ts. - Export
./blueprintresolves through./src/blueprint.ts. - Export
./docsresolves through./src/docs/index.ts. - Export
./docs/knowledge-canon.docblockresolves through./src/docs/knowledge-canon.docblock.ts. - Export
./exampleresolves through./src/example.ts. - Export
./knowledge-canon.featureresolves through./src/knowledge-canon.feature.ts. - Export
./product-canon.spaceresolves through./src/product-canon.space.ts. - Export
./source.sampleresolves through./src/source.sample.ts. - Export
./tenantresolves through./src/tenant.ts. - The package publishes 9 total export subpaths; keep docs aligned with
package.json.
Local Commands
bun run dev— contractspec-bun-build devbun run build— bun run prebuild && bun run build:bundle && bun run build:typesbun run test— bun test --pass-with-no-testsbun run lint— bun lint:fixbun run lint:check— biome check .bun run lint:fix— biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .bun run typecheck— tsc --noEmitbun run publish:pkg— bun publish --tolerate-republish --ignore-scripts --verbosebun run publish:pkg:canary— bun publish:pkg --tag canarybun run clean— rimraf dist .turbobun run build:bundle— contractspec-bun-build transpilebun run build:types— contractspec-bun-build typesbun run prebuild— contractspec-bun-build prebuild
Recent Updates
- Replace eslint+prettier by biomejs to optimize speed.
- Missing contract layers.
Notes
- Works alongside
@contractspec/lib.contracts-spec,@contractspec/tool.bun,@contractspec/tool.typescript.
