Don’t give AI more code. Give AI better code context.
LLMs reason about software remarkably well — once you’ve decided how much of the codebase to hand them. Paste too little and the model guesses at interfaces it can’t see; paste everything and the signal drowns in tests, migrations, and build noise. astwire sits between your source tree and the prompt: it traces real internal dependencies across Python, JavaScript, TypeScript, and Go — and packs two dozen other languages as-is — keeping the structure that matters, stripping what doesn’t, and producing a lean, partitionable bundle built for LLM reasoning, entirely on your machine.
Ships as a single ahead-of-time (AOT) compiled binary for every major platform — compiled straight to native machine code, so there's no interpreter, no dependency tree, and no runtime to install.
Installs the ahead-of-time (AOT) compiled binary directly — no build step, no Python interpreter required on the target machine. Omit the version to install the latest release; pass a version tag to pin an exact version instead.
curl -fsSL https://install.djangoplay.org/astwire | bash
irm https://install.djangoplay.org/astwire.ps1 | iex
curl -fsSL https://install.djangoplay.org/astwire | bash -s -- v0.1.0
$env:ASTWIRE_VERSION = "v0.1.0"; irm https://install.djangoplay.org/astwire.ps1 | iex
targetsOne or more target files/directories to process, space-separated (default: current directory).--targets PATH [PATH ...]Same as the positional targets — e.g. astwire --skeleton --targets src/ is valid.-i, --resolve-importsFollow local imports from supported languages (Python, JS/TS, Go).--languagesPrint the language capability table and exit.--lang NAME[,NAME]Only include these languages, by name or extension, comma-separated.--analysisDry-run audit displaying recoverable token waste per file, broken out by language, without writing files.--strip-wasteScrub trailing whitespace and collapse empty lines.--skeletonStrip function/method bodies in languages that support skeletonization, preserving signatures and docstrings.--since REFSeed context from files changed since this git ref instead of the given targets (tracked + untracked, gitignore-aware). Combine with -i to also pull in what the changed files import.--max-depth NWith -i, exclude files more than N import-hops from a seed (manifests like package.json/go.mod are always kept). No effect without -i.--decay-depth NWith -i, skeletonize files more than N import-hops from a seed, even without --skeleton. No effect without -i.--graphWith -i, emit a dependency-graph block of edges between bundled files before the file contents.--max-tokens NCeiling for token budget per output partition.-f, --format {markdown,llm,json}Output format (default: llm). Inferred from the -o extension if omitted.-o, --output DESTDestination context file (default: context.xml). .md/.json/.xml infer the format.-v, --versionShow program’s version number and exit.--uninstallCompletely remove the astwire binary and associated local configuration files.Don’t give AI your entire codebase.
Give it the context it actually needs.
Dependency-aware. Token-efficient. Local-first. Built for AI-native software engineering.