Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Collocation: fold src/cli-schema into src/commands/schema, move batch-steps into src/commands/batch

Closed
#2,679 0 comments 0 reactions 0 assignees View on GitHub

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
Domain
cli, tooling

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) into src/commands/schema/*. cli-schema is a standalone zone with Q ≈ 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 facets commands/ already owns (#2543 declared that direction).
  • Move src/cli/batch-steps.ts into src/commands/batch/batch-steps.ts (its only relative import and only real importer already live under src/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 the commands zone by directory, so the standalone cli-schema rank 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-schema or old batch-steps.ts path references
  • pnpm lint, pnpm typecheck, pnpm format:check, pnpm check:layering, pnpm check:gate-manifest pass
  • pnpm test:unit passes (pre-existing unrelated failures excepted)
  • Rebased onto an up-to-date apex/module-shape-measures, with pnpm coupling before/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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from callstack/agent-device

All issues in callstack/agent-device

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.