# I built a CLI harness that strips JS/TS function bodies with Babel AST to save 80% context tokens

> Source: <https://dev.to/shaikhamanulla/i-built-a-cli-harness-that-strips-jsts-function-bodies-with-babel-ast-to-save-80-context-tokens-1dak>
> Published: 2026-11-13 16:12:38+00:00

While working on large Next.js and TypeScript repositories, I noticed AI coding agents (Cursor, Claude Code) constantly burning through context limits. They were reading 500-line implementation files when all they really needed were the types, interfaces, and exported signatures.

To solve this mechanically, I engineered and open-sourced Apex Agents.

How It Works:

Babel AST Compactor (`npx apex-agents compact`):

Parses TypeScript, JSX, and JavaScript using `@babel/parser` and replaces function bodies with `{}` while preserving all types, generics, parameters, and exports. In our tests, an ~13k token codebase compacted down to ~1.4k tokens (88.5% reduction) into an `APEX_CONTEXT.md` file.

Pre-Commit Anti-Cheat & Secret Guard (`.git/hooks/pre-commit`):

Diff auditor physically prevents AI agents from modifying or skipping tests to fake a "pass", and halts any accidental commit containing high-entropy API keys.

38 Specialist Personas (`.cursor/rules`):

Injects domain-specific engineering rules directly into `.cursor/rules` for database performance, React 19 architecture, and Lighthouse optimization.

Native MCP Server:

Built-in JSON-RPC stdio server ready to plug into Claude Desktop or Cursor MCP settings.

Try it in any repo:

bash:

npx apex-agents init

GitHub: [github.com/AmanullaShaikh/apex-agents](https://github.com/AmanullaShaikh/apex-agents)

NPM: [npmjs.com/package/apex-agents](https://www.npmjs.com/package/apex-agents)

Feedback and pull requests are welcome!
