Open-source · Apache 2.0 · Built by Horizon LLC
Squick
An open-source toolkit that pre-computes structured project context for AI coding agents. It parses your repository once, extracts the facts the agent needs — architecture, dependencies, endpoints, data schemas, references — and writes a small set of artifacts that any MCP-aware host reads in place of re-scanning your code on every prompt.
Compatible with Claude Code, Cursor, Cline, and Continue. Distributed under the Apache License 2.0 on npm, PyPI, crates.io, and GitHub Releases.
~1.5 s
scan on a 2 780-file monorepo
290+
framework detection patterns
14
framework dictionaries
7
MCP tools exposed
What Squick does
Squick replaces the repeated, token-expensive “look around the codebase” step that AI coding agents perform on every interaction with a single deterministic pre-computation. A scan completes in roughly 1.5 seconds on a 2,780-file production project (Next.js + Strapi monorepo) and produces context files that fit comfortably inside any LLM context window.
The artifacts are designed for two consumption modes:
- 1Chat attachment — paste
conventions.mdorschemas.mdinto Claude, ChatGPT, or Copilot for a single conversation. - 2MCP tool use — run Squick as a local Model Context Protocol server and let agents query it directly through seven well-defined tools.
No LLM calls happen during a scan. Tree-sitter handles parsing, hand-written extractors handle semantics, and a tunable YAML dictionary engine handles framework recognition.
Supported source languages
Squick parses native ASTs in five languages via official Tree-sitter grammars. For each file the extractor produces: declared symbols, import specifiers, JSX component usages, doc comments, and call sites for cross-file reference resolution.
| Language | File extensions |
|---|---|
| TypeScript | .ts |
| TSX | .tsx |
| JavaScript | .js, .mjs, .cjs |
| JSX | .jsx |
| Python | .py, .pyi |
Recognized frameworks & libraries
Out of the box, Squick ships fourteen framework dictionaries containing more than 290 patterns. The matcher applies them across six surfaces — filenames, path segments, imports, symbol names, component names, route literals — with calibrated confidence levels.
Backend (Node.js / TypeScript)
Strapi, Express, Koa, Fastify, NestJS, Hapi
Backend (Python)
Django, Django REST Framework, FastAPI, Flask, Starlette, Litestar, Sanic, Pyramid, Tornado
Frontend / SSR
Next.js (App Router + Pages Router), React, Tailwind CSS
Headless CMS
Strapi (full content-type schema extraction), Sanity, Payload, WordPress
State management
Redux, Zustand, Jotai, MobX, Recoil, Valtio
Data fetching
SWR, TanStack Query, Apollo, urql, axios
Validation / forms
Zod, Yup, Joi, Valibot, Pydantic, react-hook-form, Formik
ORMs
Prisma, Drizzle, TypeORM, Sequelize, Mongoose, SQLAlchemy, Tortoise, Peewee
Tooling & testing
Turborepo, Nx, Lerna, Vitest, Jest, Mocha, pytest, Playwright, Cypress
Adding a new framework requires writing a YAML dictionary file. No Rust changes are needed for most extensions.
HTTP endpoint detection
Squick recognizes endpoints across four declaration styles, normalizing them into a single representation — method, path, handler symbol, source location.
- →Python decorators — FastAPI, Flask, Sanic, Starlette, Litestar
- →Django urlpatterns — Django and DRF
- →JS member calls — Express, Koa, Fastify, Hapi
- →Next.js App Router — route.ts exports with path reconstruction
Detection is structural, not name-based — a renamed handler still produces a correct endpoint record.
Data schema extraction
Squick parses Strapi schema.json files into a structured representation: content-type kind, singular/plural names, every attribute with its data type, required flag, and relation target.
A 23-content-type Strapi backend serializes into approximately 14 KB of structured schemas.md. Agents reading that file answer “what fields does Blog have” without scanning the codebase.
Cross-file reference resolution on a real-world Next.js + Strapi codebase produces 6,043 references in under two seconds.
Output artifacts
A default scan writes three files into .squick/. The --full flag adds two programmatic artifacts.
| File | Audience | Purpose |
|---|---|---|
| conventions.md | LLM chat attachment, human review | Stack, library choices, layout, API surface |
| schemas.md | LLM chat attachment, human review | Data schemas, endpoint table |
| context.md | Both | Two-line index pointing at the above |
| context.ndjson | Programmatic (--full) | One JSON fact per line — LLM context loading, scripts, MCP servers |
| graph.txt | Programmatic (--full) | Subject-predicate-object triples — graph traversal, dependency analysis |
Model Context Protocol integration
Run squick mcp to start a local MCP server on stdio. Any MCP-aware client — Claude Code, Cursor, Cline, Continue, Zed — can pull project context on demand through seven tools. Built on the official rmcp Rust SDK, speaking the published MCP specification.
squick_scan(root)
Conventions summary — default entry point.
squick_get_conventions(root)
Explicit conventions content.
squick_get_schemas(root)
Data schemas as JSON.
squick_get_endpoints(root)
HTTP endpoints as JSON.
squick_get_file_context(root, file)
Context for a single file.
squick_get_ndjson(root)
Full structured project facts.
squick_get_graph(root)
RDF-style triples.
Install Squick
Pre-built binaries are available for Linux x86_64, Linux aarch64, macOS x86_64, macOS aarch64, and Windows x86_64. The binary on PATH is always called squick regardless of install channel.
npm i -g @hubhorizonllc/squickpip install squickcargo install squick-clicurl --proto '=https' --tlsv1.2 -LsSf \
https://github.com/pwnaxe/squick/releases/latest/download/squick-cli-installer.sh | shLicense
Apache 2.0
Source
github.com/pwnaxe/squick
Unit tests
23 across core & dict crates
CI pipelines
4 GitHub Actions workflows
CONTRIBUTING.md, SECURITY.md, CODE_OF_CONDUCT.md, and SUPPORT.md follow standard open-source community practice.
Built by Horizon LLC
Squick is one example of the AI developer tooling that Horizon designs and builds for engineering teams. We work on MCP integrations, agent infrastructure, custom context pipelines, and bespoke developer tooling that reduces token spend and improves agent quality.
If your team needs an internal version of something like Squick, an MCP server tailored to your stack, or general AI-assisted-development consulting, get in touch.
Need a custom AI context pipeline?
We build MCP servers, agent infrastructure, and bespoke developer tooling tailored to your stack and team. Let's talk.
Our offices
- HQ — Dubai Area, UAE
Sharjah Media City (Shams)
Al Messaned, Al Bataeh
Dubai Metropolitan Area, UAE - European Office — Warsaw
Chelmska 21
00-724, Warsaw, Poland