agent-orchestrator/packages/cli
Harshit Singh Bhandari fad75b6323
refactor(cli): extract resolveOrCreateProject for the not-running path (#1621)
Replaces the per-arg-shape dispatch that lived inline in start.ts (URL,
path, project id, no arg) with a single resolveOrCreateProject(arg, deps)
call. The new module dispatches internally to fromUrl/fromPath/fromCwdOrId
helpers and returns a uniform { config, projectId, project, source,
justCreated, parsed? } shape.

Behavior preserved exactly — fromUrl is a near-verbatim move of
handleUrlStart's body (which is now deleted as it had no other callers),
fromPath mirrors the path branch's loadConfig/autoCreate/addProject
cascade, and fromCwdOrId carries over the registerFlatConfig recovery
path with the same semantics.

Dependencies that live in start.ts (addProjectToConfig, autoCreateConfig,
resolveProject, resolveProjectByRepo, registerFlatConfig, cloneRepo) are
passed in via a ResolveDeps object. This keeps the new module decoupled
from start.ts's other concerns (interactive prompts, agent detection,
project type detection) without creating a circular import.

Scope note: the "AO is already running + URL/path arg" branch in start.ts
still has its own inline clone+register block. That block deliberately
diverged from handleUrlStart (it writes a flat local config, not the
legacy wrapped one) — migrating it to share fromUrl is a small follow-up
before PR B.2 collapses the running-vs-not-running fork.

Step 1 of PR B in the start.ts refactor plan
(~/.ao/agent-orchestrator/ao-118/plan.md). Net diff: start.ts shrinks by
~146 lines, new file adds 294. Test count and failure set are identical
to upstream/main.
2026-05-04 09:44:07 +05:30
..
__tests__ fix: force launcher relink during update (#1594) 2026-05-01 17:09:58 +05:30
src refactor(cli): extract resolveOrCreateProject for the not-running path (#1621) 2026-05-04 09:44:07 +05:30
templates/rules feat: seamless onboarding with enhanced documentation (#66) 2026-02-16 22:22:13 +05:30
CHANGELOG.md chore: release 0.4.0 (#1625) 2026-05-04 06:57:24 +05:30
package.json chore: release 0.4.0 (#1625) 2026-05-04 06:57:24 +05:30
tsconfig.json fix: scope node types to node packages 2026-04-13 18:25:21 +05:30
vitest.config.ts test(cli): load markdown prompt templates 2026-04-13 21:28:27 +05:30