← ClaudeAtlas

lock-project-stacklisted

Detect a project's manifest (pyproject.toml / package.json / go.mod / Cargo.toml), pin its library set into wet-mcp's Cabinets project_context, then route subsequent docs queries to the locked versions automatically.
n24q02m/claude-plugins · ★ 3 · AI & Automation · score 74
Install: claude install-skill n24q02m/claude-plugins
# lock-project-stack Bind a project to its declared dependency versions so every `search(action="docs_query")` call from inside that project surfaces docs for the *exact* versions you pinned, instead of "latest". Mirrors the Cabinets workflow from spec section 4.3. ## Steps 1. **Resolve the project root**: - If the user gave an absolute path, use it. - Otherwise infer the root from the current workspace context (e.g. `git rev-parse --show-toplevel` output). - Confirm at least one supported manifest exists: `pyproject.toml`, `package.json`, `go.mod`, or `Cargo.toml`. 2. **Lock the project**: - Call `search(action="docs_lock_project", project_path=<abs_path>)`. - The response includes `total` detected libraries + `indexed` count (how many already have docs in Tier 1 or Tier 2). Surface both numbers to the user so they know how much coverage they have today. 3. **Trigger Tier 2 ingestion for missing libraries (optional)**: - Iterate the `locked_libraries` list; for entries with `indexed == false`, call `search(action="docs_query", library=<name>, project_path=<abs_path>, query="<library> overview")` once. The first call kicks off background Tier 2 ingestion; subsequent calls return real chunks. 4. **Verify lock reuse**: - Re-call `search(action="docs_query", library=<name>, project_path=<abs_path>, query=...)` WITHOUT specifying `version`. The response should include a non-null `lock_pin` field mat