Skip to content

feat(cli): nonexecuting init planner - #198

Merged
Lojhan merged 3 commits into
mainfrom
feat/cli-init-plan
Sep 6, 2026
Merged

Lojhan merged 3 commits into
mainfrom
feat/cli-init-plan

Conversation

@Lojhan

@Lojhan Lojhan commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Closes #171. Part of #153; safe application (#172) and verified editor onboarding (#173) remain separate.

Adds init --grammar postgres|mysql|sqlite with deterministic JSON planning, explicit workspace package selection, package-manager/lockfile conflict detection, exact proposed paths and content, dependencies/scripts, and pending actions. Preserves existing configuration and ranges without executing project code. Does not invent schema metadata, write files, install packages, invoke lifecycle scripts, change editor settings, or grant trust. Optional editor selection records prerequisites only.

Tests cover all grammars, determinism/no writes, existing executable config not imported through the real CLI, JSONC preservation, workspace selection, conflicting managers, malformed arguments/manifests, symlink boundaries and ambiguous configurations. Adds a minor CLI Changeset and public instructions.

Typecheck, quality, planner/documentation checks and the full CLI tests pass locally after generating required fixture snapshots. Required CI gates the merge. No new runtime dependencies or experimental package imports.

Comment thread packages/cli/src/init-plan.ts Fixed
@Lojhan
Lojhan merged commit 20eb300 into main Sep 6, 2026
19 checks passed
@Lojhan
Lojhan deleted the feat/cli-init-plan branch September 6, 2026 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(cli): plan init setup without executing project code

2 participants