Skip to content

Implement lnk v2 rust cli#45

Draft
yarlson wants to merge 9 commits into
mainfrom
v2
Draft

Implement lnk v2 rust cli#45
yarlson wants to merge 9 commits into
mainfrom
v2

Conversation

@yarlson

@yarlson yarlson commented May 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds the Rust v2 CLI skeleton and implementation for the flat command surface: init, profiles, apply, status, run, doctor, and reserved v1 migration.
  • Adds strict TOML schema parsing, profile ownership planning, home-bound path checks, local machine state, copy drift detection, Git subprocess helpers, and terse human/JSON output.
  • Adds integration and unit coverage for repo layout, active profiles, symlink/copy apply behavior, conflict handling, doctor/status reporting, script execution, CLI parsing, and schema fixtures.
  • Rewrites the v2 README in the v1 style while keeping v2 semantics explicit.

Validation

  • make verify
    • cargo fmt --all --check
    • cargo clippy --all-targets --all-features -- -D warnings
    • cargo nextest run --all-features (116 passed)
    • cargo test --doc --all-features
    • cargo build --all-targets --all-features

yarlson added 8 commits May 19, 2026 07:18
Add a standalone v2 command and service layer alongside product and
design docs for the scoped dotfiles workflow. The v2 surface separates
repo sync from machine mutation and makes bootstrap, restore, doctor
repair, and host scope behavior explicit.
Replace the earlier host-scope CLI draft with a Rust v2 product and
architecture direction centered on ordered profiles, explicit apply behavior,
local machine state, script execution, and plan-first v1 migration.
Document the repo-local source of truth, required checks, and guardrails
so future agent work follows the v2 Rust design contract.
Document the phased path from the v2 design contract to a Rust CLI,
including validation gates, dependency choices, and rejected scope so
implementation work can proceed without reviving the old Go model.
Provide a repo-local script for running each implementation phase through
Codex, validating it, and preserving JSONL logs outside version control.
@yarlson yarlson changed the title [codex] implement lnk v2 rust cli Implement lnk v2 rust cli May 19, 2026
Add plan-first migration from v1 repo layouts into profiles, with write mode
guarded by clean Git state and `--write --yes`. The write path creates a
backup tag, commits the transformed repo, and records active local profiles.
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.

1 participant