惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Last Week in AI
Last Week in AI
有赞技术团队
有赞技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
博客园 - 司徒正美
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
罗磊的独立博客
IT之家
IT之家
博客园 - 三生石上(FineUI控件)
V
Visual Studio Blog
T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
Netflix TechBlog - Medium
MyScale Blog
MyScale Blog
J
Java Code Geeks
L
LangChain Blog
S
SegmentFault 最新的问题
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
G
Google Developers Blog

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - hrudulmmn/crespo: Crisp Repos, Sharp AI
ByteJoseph · 2026-06-22 · via Hacker News: Show HN

Cresbee Crespo

License Version Python Downloads Stars

Give AI the blueprint, not the code.

Stop burning your context window on raw source files.
Crespo extracts what matters — and compresses everything else.

pip install crespo && crespo ./myproject

The Problem

You paste a codebase into any LLM. It hits the context limit but you problem remains unfinished. You paste one file at a time. The AI loses the big picture. You give AI the full code. The AI reads 40,000 tokens linearly and still misses the architecture.

Crespo solves this differently.

Instead of concatenating raw files, Crespo uses Tree-sitter AST parsing to extract only the structural DNA of your repository — imports, classes, functions, module connections — and emits a compact XML blueprint. Same architectural understanding. A fraction of the tokens.


Usage

# Structure mode (default)
crespo ./myproject

# Summary mode — requires Groq key
crespo ./myproject --mode summary --groq YOUR_KEY

# Save your Groq key for future runs
crespo --groq YOUR_KEY

# Concat mode — full source, redacted
crespo ./myproject --mode concat

# Analyse a GitHub repo directly
crespo --git https://github.com/user/repo

# Custom output filename
crespo ./myproject --output blueprint.xml

How It Works

your repo
    │
    ▼
 walker          respects .gitignore · skips tests · skips build artifacts
    │
    ▼
 tree-sitter     real AST parse · 10 languages · no regex
    │
    ▼
 extractor       imports · classes · functions · structs · enums
    │
    ▼
 blueprint XML   compact · structured · LLM-ready

No heuristics. No regex scraping. Real language grammars via Tree-sitter — the same parser used by GitHub, Neovim, and Zed.


Demo

Cresbee


Modes

Mode What it produces Best for
structure AST skeleton — imports, classes, functions Architecture review, onboarding, LLM context
summary Structure + AI one-line descriptions per file Deeper codebase understanding
concat Full source, secrets redacted, in structured XML Passing entire repos to LLMs safely

Languages supported

Python · JavaScript · TypeScript · JSX · TSX · Rust · Go · Java · C · C++


Example output

<?xml version='1.0' encoding='utf-8'?>
<repo n="kara" s="Gesture-controlled PDF viewer using PyQt6, MediaPipe, and OpenCV.">
  <meta>
    <dep>cv2,mediapipe,numpy,PyQt6,fitz,groq,markdown</dep>
  </meta>
  <files>
    <f p="Ui.py" e=".py" s="Main PyQt6 window coordinating PDF rendering, gesture input, and AI summarisation.">
      <imp>PyQt6,fitz,render,summarise,gesture,markdown</imp>
      <cls n="Window">
        <fn n="summary" p="(self)" />
        <fn n="startGest" p="(self, state)" />
        <fn n="gestZoom" p="(self, state: int)" />
      </cls>
    </f>
    <f p="gesture.py" e=".py" s="MediaPipe hand tracking with gesture classification and debouncing.">
      <imp>mediapipe,cv2,numpy</imp>
      <cls n="GestureController">
        <fn n="detect" p="(self, frame)" />
        <fn n="classify" p="(self, landmarks)" />
      </cls>
    </f>
  </files>
</repo>

Benchmarks

Tested on real open-source repositories. Structure accuracy evaluated by asking an LLM three questions from the blueprint alone — no access to the original source.

Structure mode accuracy

Repo Components & connections Dependencies Entry point Score
Axios ✅ correct and specific ✅ correct and specific ✅ correct and specific 3/3
Express ✅ correct and specific ✅ correct and specific ✅ correct and specific 3/3
Kara ✅ correct and specific ✅ correct and specific ✅ correct and specific 3/3
Moodilist ✅ correct and specific ✅ correct and specific ✅ correct and specific 3/3
Requests ✅ correct and specific ✅ correct and specific ⚠️ partially correct 2/3
Urai ✅ correct and specific ✅ correct and specific ⚠️ partially correct 2/3
FastAPI ✅ correct and specific ✅ correct and specific ⚠️ partially correct 2/3
Flask ✅ correct and specific ✅ correct and specific ⚠️ partially correct 2/3
Average 2.75 / 3

⚠️ Entry points are partially correct on framework-level repos (FastAPI, Flask) and convention-driven repos (Next.js) where the entry point is implicit rather than explicit. Architecture and dependency accuracy remains perfect across all tested repos.

Token reduction — structure mode

Repo Raw tokens Blueprint tokens Reduction
Kara ~4,667 ~934 ~80%
Moodilist ~8,580 ~1,396 ~84%
Axios ~61,494 ~6,989 ~89%
Express ~17,222 ~707 ~96%
FastAPI ~145,606 ~124,993 ~14%
Flask ~77,402 ~13,848 ~82%
Requests ~49,556 ~9,585 ~81%
Urai ~ 17,418 ~2,304 ~87%
Average ~86%

FastAPI (14% reduction) excluded from average — as a framework repo its structure IS the content. Crespo correctly preserves it rather than discarding it.

Framework-heavy repos compress slightly less because the preserved structure is genuinely useful — there is less noise to discard.

Token Counting is done using tiktoken python library.

Compression Depends on Repo Type


Security

Crespo redacts secrets before writing any output. Patterns covered:

  • Quoted assignments — api_key = "...", token: '...'
  • Raw .env style — GROQ_KEY=abc123
  • Known key prefixes — Groq (gsk_), OpenAI (sk-), Anthropic (sk-ant-), GitHub (ghp_), AWS (AKIA), Slack (xox)

Groq Setup

Summary mode uses Groq to generate one-line descriptions per file and function. The free tier is more than enough.

# pass once — saved to ~/.crespo/config
crespo --groq YOUR_KEY

# all future summary runs pick it up automatically
crespo ./myproject --mode summary

Your key is stored locally at ~/.crespo/config and never sent anywhere except Groq's API.


Roadmap

  • Something for Humans coming soon!
  • More aggressive compression preset
  • More language support (Ruby, PHP, Swift, Kotlin)
  • .crespoignore support

Troubleshooting

crespo: command not found

This usually means Crespo was installed successfully, but the executable isn't on your system PATH.

Verify installation

python -m pip show crespo

If Crespo appears in the output but the crespo command still isn't recognized, it's a PATH issue — follow the steps below for your OS.

Windows

Add your Python Scripts directory to PATH (typically):

C:\Users\<you>\AppData\Local\Programs\Python\Python3x\Scripts

Restart your terminal afterwards.

macOS / Linux

Find your user scripts directory:

python3 -m site --user-base

Then add its bin folder to your shell configuration:

export PATH="$HOME/.local/bin:$PATH"

Restart your shell and try again.

Multiple Python installations

If you have multiple Python versions installed, make sure installation and execution use the same interpreter. Check which python/pip you're actually using:

where python      # Windows
which -a python3  # macOS / Linux

Reinstall using that same interpreter explicitly if needed:

python -m pip install --force-reinstall crespo

Recommended: use pipx

For CLI tools, pipx avoids most PATH-related issues entirely:

pipx install crespo
crespo ./myproject

Contributing

Contributions are welcome. If you have ideas for new output modes, better parsing, or additional language support, open an issue or PR.


License

MIT © Hrudul Krishna K V



Built by a CS student who kept hitting AI's free limit.
GitHub · PyPI