@mcpmesh/codeforge
v0.2.0
Published
AI CodeForge collector CLI — scans a checkout where the source lives and uploads graph fragments, never source.
Maintainers
Readme
@mcpmesh/codeforge
The AI CodeForge collector CLI. It runs where the source is — a field engineer's laptop, a build agent, a jump host inside the client's network — builds the knowledge graph locally, and uploads graph fragments, never source. No file content, no diffs and no snippets leave the machine.
npm install -g @mcpmesh/codeforge
codeforge --helpcodeforge login # sign in to a CodeForge deployment
codeforge init # detect the build units in a checkout, write codeforge.yaml
codeforge scan # read a checkout, write a bundle of graph fragments
codeforge inspect # print what that bundle would upload, from the bundle itself
codeforge push # upload it to an estateStanding in a repo the tool has never seen, init is the first command:
cd ~/some-client-repo
codeforge init # writes codeforge.yaml -- read it, prune it
codeforge scan --out ./bundleIt reports every directory it claimed as a scope and every one it refused, with the reason, because what counts as a scope in a large monorepo is a judgement about the estate rather than something a filesystem can decide. It needs no session and no network.
scan and push are separate commands so a human can look at the artefact
before it leaves the network. The inconvenience is the feature.
What npm installs
This package is a launcher: bin/codeforge.js finds the Go binary and execs
it. The binary itself lives in one of five platform packages, declared here as
exact-pinned optionalDependencies, each carrying os/cpu so npm downloads
only the one matching your machine:
| package | platform |
| ---------------------------------- | --------------- |
| @mcpmesh/codeforge-darwin-arm64 | macOS, Apple silicon |
| @mcpmesh/codeforge-darwin-amd64 | macOS, Intel |
| @mcpmesh/codeforge-linux-amd64 | Linux, x86-64 |
| @mcpmesh/codeforge-linux-arm64 | Linux, arm64 |
| @mcpmesh/codeforge-windows-amd64 | Windows, x86-64 |
Nothing is downloaded at install time beyond the packages themselves — there
is no postinstall script and no binary fetched from a release server. npm ci
works offline and in an air-gapped network, and there is no install-time script
for anyone to audit.
Node 20+ is required for the launcher. The CLI itself is a single static binary with no runtime dependencies.
Exit codes
The launcher propagates the binary's exit code exactly, so these are safe to branch on:
0 success 3 not signed in 7 network / unreachable
1 generic error 6 configuration 8 denied (403)
2 usage error, or the operator declined a prompt