feat(cli): local folder skill registries - #215
Merged
Merged
Conversation
Replace the unused registry-source union with a local-path parser, reuse normalization for duplicate checks, and remove test-only discovery limits and unused result fields. Keep canonicalization, containment, bounded reads, and read-only local registry behavior covered by focused safety tests.
Record the pre-merge simplification decisions, retained safety boundaries, production-limit tests, and fresh full-suite verification counts so lifecycle documents match the final implementation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
file:URLs while preserving the existing string-map config./, and../CLI inputs; resolve template/config-relative paths against their containing fileSafety rules
SKILL_CACHE_DIRfile:vs existing Git strings), never inferred from filesystem existenceSKILL.mdrealpaths must stay inside the registry; escaping symlinks are rejectedValidation
npm run build— 6 projects passednpm test— 2,188 tests passed across 6 projects (1,140 CLI)npm run lint— passed, 0 errors; 2 pre-existing unrelated warningsnpm run test:e2e— 42 tests passednpx ai-devkit@latest lint --feature local-registry— passedCoverage note: the repository
npm run test:coveragecommand exits successfully, but Nx forwards--coverageas an npm config option, so Vitest does not emit a trustworthy coverage report. Focused TDD suites and the full test suite are green.Lifecycle docs
Requirements, design, planning, implementation, and testing records are under
docs/ai/*/2026-09-07-feature-local-registry.md.