Collocation: fold src/cli-schema into src/commands/schema, move batch-steps into src/commands/batch
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Refactor
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
Research direction
Start by inventorying src/cli-schema, src/commands/schema, src/cli/batch-steps.ts, and the import and documentation paths named in the issue. Rebase onto an up-to-date apex/module-shape-measures after resolving the noted command-suggestions conflict, then run the listed pnpm checks and unit tests. Done means no old path references remain, all checks pass apart from documented unrelated failures, and the coupling and legibility measurements are handed off.
Written by the indexing model from the issue text.
Description
Purpose
Split out from #2677: the collocation plan posted there proposes a sequence of src/-touching file moves ("PR A/B/C") derived from the coupling/legibility measures that issue builds. Per a follow-up note, guard 9 on #2677 keeps that issue tooling-only (nothing under src//packages/ changes there), so the moves themselves belong in their own issue(s) rather than under #2677.
This issue tracks "PR A" from the plan: move 1 plus the bundled small move.
Scope
- Fold
src/cli-schema/*(8 production + 8 colocated test files) intosrc/commands/schema/*.cli-schemais a standalone zone withQ ≈ 0, out/in flow 30, touching 29 of 39 families, and reader-condition legibility in the high-30s/low-40s depending on measurement — the plan's clearest "wrongly-a-family" candidate. It exists only to render the command facetscommands/already owns (#2543 declared that direction). - Move
src/cli/batch-steps.tsintosrc/commands/batch/batch-steps.ts(its only relative import and only real importer already live undersrc/commands/). - Pure move, no behavior change: update every import site, the literal owner-files path in
src/cli/command-explain.ts, the layering model's zone ranking (folded files resolve to thecommandszone by directory, so the standalonecli-schemarank entry is dropped),fallow-baselines/health.json's path-keyed findings, and doc pointers (AGENTS.md,docs/agents/cli-flags.md).
Sequencing note
Per the same follow-up comment, this move should be rebased onto apex/module-shape-measures (the branch implementing #2677's Layer A/B tooling — pnpm coupling / pnpm legibility) so the before/after coupling and legibility numbers are attributable to the move alone, not confounded by the tooling landing separately.
At the time of writing, apex/module-shape-measures (86741f2) is 4 commits behind main, including #2665 (feat(cli): open --wait, flag suggestions, and refusals that name what to run), which also touches src/cli/parser/command-suggestions.ts — one of the files this move touches. Rebasing onto apex/module-shape-measures as-is produces a real conflict there (not just a mechanical one: apex is missing #2665's new suggestFlagFor/flag-suggestion code entirely, so the conflict isn't resolvable by picking a side without either dropping this move's import-path fix for that file or pulling in unrelated feature work). Rebasing cleanly needs apex/module-shape-measures refreshed against current main first.
Acceptance
- All import sites updated, no stray
cli-schemaor oldbatch-steps.tspath references -
pnpm lint,pnpm typecheck,pnpm format:check,pnpm check:layering,pnpm check:gate-manifestpass -
pnpm test:unitpasses (pre-existing unrelated failures excepted) - Rebased onto an up-to-date
apex/module-shape-measures, withpnpm couplingbefore/after numbers in the PR description - Base/head SHAs handed off for the
pnpm legibility(Jev) before/after measurement, per the offer in https://github.com/callstack/agent-device/issues/2677#issuecomment-5741660420
- Dominant language
- TypeScript
- Stars
- 4.8k
- Forks
- 315
- Avg merge
- 11h 17m
- Merged PRs (30d)
- 536
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing 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 callstack/agent-device
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
callstack/agent-device#1869 ·
Maintainers usually reply within 1 day
-
needs-triage refactor
Difficulty 5/5 Over a week Newbie friendliness 25/100
callstack/agent-device#3116 · 4 comments ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
callstack/agent-device#3106 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
callstack/agent-device#3105 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 72/100
callstack/agent-device#3104 ·
Maintainers usually reply within 1 day
All issues in callstack/agent-device
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
external-issue to-triage
Difficulty 1/5 Under an hour Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
diegosouzapw/OmniRoute#15401 ·
Maintainers usually reply within 2 days
-
Sign the pledgeOpen
Difficulty 1/5 Under an hour Newbie friendliness 95/100
input-output-hk/devx-updates#163 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
code-yeongyu/oh-my-openagent#9454 ·
Maintainers usually reply within 1 day