Extract Tool Dependencies
The /cc-deck.extract command analyzes your locally checked-out repositories to discover required build tools, compilers, and runtime dependencies.
Usage
Inside Claude Code in your build directory:
/cc-deck.extract
Claude Code will ask for the path to your repository (or repositories) and analyze them.
What Gets Analyzed
The command examines:
-
Build files:
go.mod,Cargo.toml,package.json,pyproject.toml,pom.xml,build.gradle,build.gradle.kts,settings.gradle -
CI configurations:
.github/workflows/*.yml,.gitlab-ci.yml,Jenkinsfile -
Tool version files:
.tool-versions,.node-version,.python-version,.go-version,.java-version,.sdkmanrc -
Java-specific:
mvnw/gradlewwrapper scripts,jvm.config,.mvn/directory -
Container files:
Containerfile,Dockerfile
How It Works
-
You provide one or more repository paths
-
Claude Code reads build files and CI configs to discover tools
-
Discovered tools are presented for your review
-
You can accept, reject, or modify individual entries
-
Accepted tools are written to the manifest’s
toolssection
Deduplication
When analyzing multiple repositories, the command deduplicates tools automatically. If two repos require Go but at different versions, Claude Code suggests the highest compatible version and explains the conflict.
Source Provenance
Each analyzed repository is recorded in the manifest’s sources section, tracking:
-
Repository URL and branch
-
Local checkout path
-
Which tools were detected
-
Which files they were detected from
This provenance lets you re-run extraction later to detect changes.
Example
After analyzing a Go project with a React frontend:
tools:
- "Go compiler >= 1.25"
- "Node.js 22 LTS"
- "protoc and buf CLI"
sources:
- url: https://github.com/org/my-project
ref: main
path: /home/user/projects/my-project
detected_tools: ["Go 1.25", "Node.js 22", "protoc >= 25.0"]
detected_from: [go.mod, package.json, buf.yaml]