ADR 0011 graphInject framework package and examples apart - agbossjs/agboss GitHub Wiki
- Status: Accepted
- Issue: #91
The repo is becoming a framework other projects add as a dependency. Framework and example code were
mixed in one src/, with several demo sets of agents and a default one.
- npm workspaces:
packages/graphinject(the framework, npm packagegraphinject, built todist/, bingraphinject) andexamples/job-scout(the only example, depends ongraphinject). - A set of related agents under one directory is a workflow (
@Workflow); commands find it by path:graphinject <command> --workflow ./src/x.workflow.ts(the CLI registerstsx: decorators need transpiling). - The boundary is enforced both ways by ESLint: the framework never imports
examples/; an example imports onlygraphinject. The framework ships no agents; its tests use test workflows.
- The example sees the framework as an outside project does; gaps in the public API show at once.
- A build step:
npm run build(ornpm run dev) before running the example. - Terns keep a
bundlecolumn internally (no migration); everything user-facing says workflow.