Workflow-First CLI Architecture
Status
Animus now treats workflow dispatch as the primary execution surface.
- workflow and requirements surfaces dispatch canonical workflow refs such as
animus.task/standardandanimus.requirement/execute - task and requirement domain behavior resolves from installable first-party packs and project-local overrides
- legacy
builtin/*refs remain as compatibility aliases, not as the preferred operator-facing surface
Current Model
Every AI-invoking command follows the same broad shape:
- build a
SubjectDispatch - select a
workflow_ref - choose sync or async execution
- let
workflow-runnerresolve the effective workflow from YAML and packs
The CLI is not the place where domain behavior lives. That behavior now belongs to:
- kernel baseline config for shared phase and MCP defaults
- installable first-party packs such as
animus.taskandanimus.requirement - installed packs in
~/.animus/packs/ - project overrides in
.animus/plugins/ - project-local YAML in
.animus/workflows.yamland.animus/workflows/*.yaml
Why This Matters
This keeps the runtime aligned with the plugin-pack kernel design:
- the daemon stays dumb
- workflow refs stay explicit
- behavior remains inspectable as YAML and pack assets
- Node and Python integrations stay subprocess-based
Canonical Examples
| Command | Canonical Ref |
|---|---|
animus workflow run animus.requirement/draft --title "..." --sync | animus.requirement/draft |
animus workflow run animus.requirement/execute --requirement-id REQ-001 | animus.requirement/execute |
animus workflow run animus.task/standard --task-id TASK-001 | animus.task/standard |