Stratigraph
ใช้ทำอะไรได้
ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ
- ต่อแบบ ติดตั้งในเครื่อง
- บัญชีหรือคีย์ ไม่ต้องใส่คีย์
- หมวด เครื่องมือนักพัฒนา
คำอธิบายต้นฉบับจากผู้ทำ (อังกฤษ)
Cited structure of Java/Spring/Angular codebases: dependencies, tables, endpoints, hotspots.ติดตั้ง
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 3/3 · ทำงานบนเครื่องคุณ
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน
ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
เปิดไฟล์ตั้งค่าของแอป Claude บนคอม
SettingsDeveloperEdit Config
วางค่าตั้งนี้แล้วบันทึกไฟล์
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
ปิดแอป Claude แล้วเปิดใหม่
ลองเลย
ใช้ Stratigraph บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ Stratigraph หรือมีชื่อเครื่องมือของ Stratigraph ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ Stratigraph ไม่ได้
Stratigraph ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
คุณทำแบบนี้แทนได้
ก · ใช้แอปที่ต่อ Stratigraph ได้
- ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
- ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
- ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
- ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
ข · ตัวอื่นในหมวด เครื่องมือนักพัฒนา ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
- Sentry✓ ChatGPT
- Compiler Explorer✓ ChatGPT
- GitDiagram✓ ChatGPT
ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน
ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
เปิด Terminal
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
วางคำสั่งนี้แล้วกด Enter
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
พิมพ์ /mcp ใน Claude Code
ต้องเห็น Stratigraph ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ลองเลย
ใช้ Stratigraph บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ Stratigraph หรือมีชื่อเครื่องมือของ Stratigraph ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน
ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
กดปุ่มนี้เพื่อเปิด Cursor
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
เปิดแชตของ AI ใน Cursor โหมด Agent
ลองเลย
ใช้ Stratigraph บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ Stratigraph หรือมีชื่อเครื่องมือของ Stratigraph ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน
ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
กดปุ่มนี้เพื่อเปิด VS Code
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
เปิดแชตของ AI ใน VS Code โหมด Agent
ลองเลย
ใช้ Stratigraph บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ Stratigraph หรือมีชื่อเครื่องมือของ Stratigraph ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
สำหรับคนเขียนโค้ด: คำสั่ง Terminal และค่าตั้ง JSON
ติดตั้งในเครื่อง
Claude Code
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
Claude Desktop (claude_desktop_config.json)
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
Cursor (~/.cursor/mcp.json)
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
VS Code (mcp.json)
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
สรุป
- ดาวน์โหลดต่อสัปดาห์i
- 186/สัปดาห์
- การเชื่อมต่อ
- รันบนเครื่อง
- รุ่นล่าสุดi
- 2.2.1
- ส่งเข้า registryi
- 1 พ.ย. 2569
- แก้โค้ดล่าสุดi
- 1 พ.ย. 2569
- ผู้ทำ
- imashishsharma
- แพ็กเกจ
npm: stratigraph- เว็บผู้ทำ
- imashishsharma.github.io
- สถานะใน registry
- ใช้งานอยู่
ใช้กับโปรแกรมไหนได้
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
คู่มือที่เกี่ยวข้อง
ทำอะไรได้บ้าง
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
ผลตรวจเบื้องต้นi
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 13 พ.ย. 2569
- ✓ ผ่าน
ตัวตนผู้ทำตรงกับ repo
ชื่อใน registry ยืนยันด้วยบัญชี GitHub imashishsharma ซึ่งเป็นเจ้าของ repo
- ✓ ผ่าน
ยังมีคนดูแล
มีการแก้โค้ดล่าสุด 12 วันที่ผ่านมา
- ✓ ผ่าน
มีสัญญาอนุญาต (license)
ใช้ Apache-2.0
- – ไม่เกี่ยว
endpoint ตอบ
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
- – ไม่เกี่ยว
ล็อกอินแบบ OAuth
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
- … ยังไม่ตรวจ
คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
พูดคุย
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
รีวิวจากผู้ใช้
ยังไม่มีรีวิว
เทียบกับตัวอื่นในหมวด เครื่องมือนักพัฒนาi
- ดาวมากกว่า 0% ของอีก 5828 ตัวในหมวดนี้
- ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 66% ของอีก 5828 ตัวในหมวดนี้
- ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 5828 ตัวในหมวดนี้
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
คำถามที่พบบ่อย
Stratigraph ปลอดภัยไหม?
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใช้กุญแจหรือรหัสอะไรบ้าง?
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
ตัวนี้รันบนเครื่องหรือบนคลาวด์?
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
ยังมีคนดูแลอยู่ไหม?
repo บน GitHub มีการแก้โค้ดล่าสุด 12 วันที่ผ่านมา และส่งรุ่นล่าสุด (2.2.1) เข้า registry 12 วันที่ผ่านมา
ใช้กับโปรแกรมไหนได้บ้าง?
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ตัวอื่นในหมวดเดียวกัน
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
README จากผู้ทำ
เปิดอ่าน README
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
stratigraph
Upgrade Spring Boot with your tests as the judge, and map large Java, Spring and Angular codebases with every claim cited.
Website: https://imashishsharma.github.io/stratigraph/ · open source, runs locally
🔁 Upgrade Spring Boot (2.7 → 3.5, 3.x → 4.0), Maven or Gradle
npx stratigraph upgrade plan --to 3.5 # read-only: what will break, with file:line citations
npx stratigraph upgrade run --to 3.5 --ai claude-code
OpenRewrite's recipe does most of an upgrade. The upgrade agent handles what it leaves broken, on Maven and Gradle builds alike.
- Your tests are the judge. It records every test's result *before* touching the code. A change is kept only if the build gets further and no passing test turns red. Disabling or deleting a test is rejected outright.
- Layered, reviewable commits on a branch of their own: the recipe, exact known fixes, and AI fixes from Claude Code (opt-in). Application code changed to make a test pass is flagged for review.
- It knows when to stop. An authorisation rule or an HTTP contract is never chosen for you. It hands those back in
upgrade-report.mdwith the evidence and the options.
| Benchmark (details) | OpenRewrite alone | stratigraph |
|---|---|---|
| 10 public Spring Boot apps: every previously passing test still passes, no human edits | 0 / 10 | 5 / 10 (+2 stopped at a real decision) |
| 9 apps it had never seen (details) | — | 8 / 9 |
| Gradle: realworld-example-app, JHipster 7.9 (details) | — | 68/68 parity; JHipster stopped at 1 error (needs JHipster 8) |
| Time and AI cost per app | — | 1–14 min, $0–2.54 |
Tried it? Tell us what you upgraded, and what it got wrong, in Discussions. Upgrading a fleet of Boot 2.x services? Become a design partner and run it on real code with the maintainer.
🗺️ Map a codebase nobody remembers
npx stratigraph scan . # extract, mine git history, analyse, write the report: one command
- Architecture: deployables, packages and their dependencies, cycles, and C4 diagrams at all four levels.
- Data model: an ER diagram from JPA *and* Liquibase/Flyway, with the drift between them.
- HTTP API and risk: endpoints, Angular → Spring call links, hotspots by recent churn × complexity, and knowledge silos.
- Every claim cites a file and line or a commit. Every view states how much of the code it was built from, and is withheld when that's too little.
- MCP server (
stratigraph mcp): 13 read-only tools such aswhat_breaks_if,who_knowsandwhere_is_table_written, for Claude Code, Cursor or any MCP client.
Measured on 20 public repositories against hand-labelled ground truth: entity and table recall 100%, endpoint recall 99%, DI edges resolved 95% (scorecard).
Why "stratigraph"
Stratigraphy is how archaeologists read a site: layer by layer, deducing the order things happened from what sits on top of what. stratigraph does the same to a large codebase — it reads the source, reads the git history, and reconstructs how the thing came to be shaped the way it is.
Aimed at monoliths and multi-module builds of 100k+ LOC where nobody remembers why things are the way they are. Java, Kotlin and Angular first. It runs on repositories that do not compile, have never had node_modules installed, and use layouts nobody has used since Ant — because those are exactly the repositories nobody remembers.
The codebase map, in detail
- A fact graph — packages, classes, methods, endpoints, DI edges, routes, O/R mappings — in a local SQLite file, every row citing a file and line, a commit sha, or the build file it was read from.
- History you can act on — hotspots ranked by churn × complexity, files whose history is one person, and files that change together over and over with *nothing in the code connecting them*.
- C4 diagrams at all four levels, an ER model read out of the O/R mappings, the HTTP surface, and a ranked findings list — as Structurizr DSL, as Mermaid, and as one self-contained HTML page: no script, no network, no CDN.
- A diff between two runs, so CI can fail a pull request for the cycle it *added* and stay quiet about the six hundred that were already there — the only gate a legacy monolith can switch on today.
- An MCP server, so an agent working in the codebase can ask structural questions instead of grepping for them.
- Optionally, model-written names and descriptions for the package clusters — under a citation check, enforced in code, that rejects any sentence naming something the model was not shown.
Sixty seconds
npm install -g stratigraph # or run every command through: npx stratigraph
cd ~/work # the fact store lands here, not in the repo stratigraph init --repo ../some-monolith # create the fact store stratigraph extract --repo ../some-monolith # parse the source into facts stratigraph history --repo ../some-monolith # mine git: churn, coupling, authors stratigraph analyze --repo ../some-monolith --no-llm # cycles, clusters, hotspots stratigraph report --repo ../some-monolith --out ./arch open ./arch/index.html
TypeScript and Angular analysis works out of the box — the extractor ships in this package and runs on the Node you already have. Java and Kotlin need a JDK 17+ and one more command, stratigraph fetch-extractor, which downloads the extractor jar and verifies it against a checksum pinned in this package. No API key is needed for any of the above: --no-llm is the whole structural report, and a model only ever adds prose on top of it.
stratigraph doctor # says which of these your machine can do right now
Contents
- The rule that shapes everything
- Measured on real repositories
- Install
- Set your API key — optional
- Use
- Angular, and the endpoint it might be calling
- History, and the coupling nobody wrote down
- Clusters, and the packages whose name is a lie
- Interpretation, and what stops it inventing things
- The report you would actually show someone
- Ask it questions from an agent — MCP
- The JVM extractor — Java and Kotlin
- The TypeScript extractor
- Keeping the fact store small
- Keeping it current
- Upgrading Spring Boot — the upgrade agent in full
- In a pipeline: JSON and a quality gate
- Configuration
- Architecture
- Development
The rule that shapes everything
Static analysis produces facts. The LLM produces interpretation. The LLM never invents a fact.
Every node and edge comes from a parser, from git log, or from a build file. Every claim in a generated report carries a provenance reference — a file and line, a commit sha, or a fact-table row. When the model wants to assert something it cannot cite, the correct output is "no evidence found".
This is enforced in the schema, not only in prompts: interpretation lives in different tables from facts, edges are marked fact or inferred, and a citation row has a CHECK constraint forcing it to point at something real. See ADR-0002.
The whole pipeline runs with --no-llm and still produces a useful report.
Measured on real repositories
Quality is measured, not asserted (ADR-0035). stratigraph bench runs the whole pipeline over 20 public repositories, each pinned to a commit in bench/corpus.yaml, and scores the output against ground truth labelled without the tool — from each repository's source, build files, migrations and git log — in bench/truth/. Every number below is from bench/scorecard.md, which lists every miss by name.
| Metric | Target | 2.0 |
|---|---|---|
| Non-source files (lockfiles, manifests, tests, generated) in the hotspot top 20 | 0 | 0 |
| Hotspot top-10 overlap with a senior engineer's labelled list | ≥ 60% | 66% (92/138) |
| JPA entity recall, with the physical table name | ≥ 90% | 100% (146/146) |
| Table recall | ≥ 90% | 100% (274/274) |
| HTTP endpoint recall | ≥ 95% | 99% (519/520) |
| Injection edges resolved | ≥ 85% | 95% (215/226) |
| Deployables found as containers / containers that are deployables | 100% | 100% (67/67) / 100% (67/67) |
| File roles matching the labels | ≥ 95% | 96% (535/557) |
| Views rendered without a coverage statement | 0 | 0 |
| Repositories the pipeline completed on | 20/20 | 20/20 |
The corpus spans Spring Boot monoliths and microservices (petclinic and its Kotlin, REST, legacy-XML and Angular variants, JHipster in Maven, Gradle and OAuth2 flavours, eladmin, piggymetrics, killbill, initializr, OpenMRS, nacos, Spring Cloud Gateway, Spring Boot Admin), Apache Dubbo at 4,000 Java files, and two large TypeScript workspaces (bitwarden/clients at 6,400 files, analog). The labels are only as good as their labelling: where a miss turned out to be a label contradicting the source at the pinned commit, the label was corrected and the evidence recorded in the truth file.
Run it yourself:
stratigraph bench --fetch # clones the corpus into ~/.cache/stratigraph/corpus
stratigraph bench --private ../your-repo # aggregates only, nothing that names a file
Install
npm install -g stratigraph
Requires Node 18.18 or newer. Nothing else, until you analyse Java — the Java extractor needs a JDK 17+ available, and tells you so rather than crashing. stratigraph doctor is the honest inventory of what your machine can do:
$ stratigraph doctor
ok stratigraph v1.4.0, fact-store schema v1 ok node v20.11.1 on darwin-arm64 ok git git version 2.50.1 warn java 1.8.0_432 from JAVA_HOME is below JDK 17; the Java extractor will not run (this limits the analyser, not the code it can analyse) warn jvm extractor jar not found — see the README for the two commands that build it ok ts extractor dist/extractors/typescript/main.js (built, no JDK required)