chore(cli): commands import infrastructure directly, contradicting the documented architecture
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Stale
- Tech stack
- typescript
- Domain
- cli, developer-experience
Research direction
Start with PR #795, which contains the replacement architecture documentation and the related context-graph, restricted-import, and orchestrator dependency guards. Verify that the documented model matches the presentation-to-runtime composition path, that bounded contexts do not import either outer boundary, and that the architecture gates remain green before closing this issue after the PR merges.
Written by the indexing model from the issue text.
Description
Context
The old CLI documentation described a strict three-layer model and made command imports from infrastructure/deps appear contradictory.
PR #795 replaces that model with bounded contexts plus two outer boundaries:
presentationparses and renders the CLI;runtimeis the composition root that wires concrete ports and use cases;kerneland bounded contexts never reach back into either outer boundary.
Decision
A presentation command may call the runtime wiring factory. This is intentional composition, not an application/domain dependency leak.
The factory is invoked per action because project root, output and verbosity are command-specific. Building one global dependency graph in cli.ts would either create it with incomplete command context or move command concerns into the entry point.
The relevant architectural rule is therefore: contexts depend only on permitted inward context edges; presentation and runtime may depend on them. #795 enforces this through the context graph, restricted-import and orchestrator dependency guards.
Acceptance criteria
- #795 documentation states bounded contexts, not the obsolete three-layer rule.
- Presentation-to-runtime wiring remains the only outer composition path.
- No bounded context imports presentation or runtime.
- #795 architecture gates remain green.
- #795 links this issue; close it after merge.
Boundary
Do not move the wiring into every command, and do not introduce a global pre-built dependency graph merely to satisfy the former layer diagram.
- Dominant language
- TypeScript
- Stars
- 481
- Forks
- 45
- Avg merge
- 17h 40m
- Merged PRs (30d)
- 106
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ai-driven-dev/framework
-
refactor(aidd-orchestrator): the check zone says when to stop, and reviews its axes in one round Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
ai-driven-dev/framework#887 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
ai-driven-dev/framework#873 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
ai-driven-dev/framework#872 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
ai-driven-dev/framework#625 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
ai-driven-dev/framework#467 · 1 comment ·
All issues in ai-driven-dev/framework
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
fullcalendar/fullcalendar#8106 ·