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.md or schemas.md into 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.

LanguageFile 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.

FilePurpose
conventions.mdStack, library choices, layout, API surface
schemas.mdData schemas, endpoint table
context.mdTwo-line index pointing at the above
context.ndjsonOne JSON fact per line — LLM context loading, scripts, MCP servers
graph.txtSubject-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
npm i -g @hubhorizonllc/squick
PyPI
pip install squick
crates.io
cargo install squick-cli
Direct
curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/pwnaxe/squick/releases/latest/download/squick-cli-installer.sh | sh

License

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