BS

beberman/synoptik

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

0 stars 0 forks 质量 64 趋势 14MIT

知识图谱覆盖源代码和文档:定义在哪里,变更触及何种范围,哪些决策控制某个领域。控制台、REST 和 MCP。

概览

Synoptik 之所以被开发,是因为在用 Claude 在 Javascript、Python 和 Lisp 中编写代码时,发现 Claude 需要架构、测试和决策的文档。如果 Claude 代码没有这些,它就会去检查代码来做决策。 虽然有多个代码索引系统会在代码上构建知识图谱,但Synoptik在代码和文档和解决方案上创建知识图谱:定义在哪里,变化达到哪里,哪些决策控制某个领域。它用Common Lisp编写并自我索引。它是在构建大型Javascript和LISP项目时,迭代使用Synoptik构建的。Synoptik目前使用Common Lisp、JavaScript和Python源代码,以及YAML和Markdown文档,通过控制台、REST API和MCP端点回答用户和LLM代理。针对REST API的用户界面尚未构建。 INSTALL.md 把一台带SBCL的机器带到一个通过的房间。贡献。

概述(AI 翻译)

Synoptik 之所以被开发,是因为在使用 Claude 编写 Javascript、Python 和 Lisp 代码时, 我发现Claude需要架构、测试和决策的文档。如果 Claude 代码没有那种会检查代码以做决策的机制。

虽然有几个代码索引系统可以基于 Synoptik 在代码和文档上创建知识图谱 以及《Anweers:某事定义在哪里,变化会达到什么,哪些决策适用》 一个区域。它用通用Lisp编写并自我索引。它是通过迭代构建的 在构建大型 Javascript 和 LISP 项目时使用 Synoptik 的同时。Synoptik 现状 支持Common Lisp、JavaScript和Python源代码,以及YAML和Markdown文档,并且能回答 人员和LLM代理通过控制台、REST API和MCP端点进行操作。用户界面 REST API 尚未建构。

INSTALL.md 带SBCL的机器进入一个通过室。 CONTRIBUTING.md 说了如何改变,以及贡献者 遵守行为准则。Synoptik 获得了麻省理工学院的许可 (执照),以及 THIRD-PARTY-LICENSES.md 列出它加载的每个库的许可证。

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

Synoptik

Synoptik was built because in writing code using Claude in Javascript, Python, and Lisp, I found Claude needed documentation of architectures, tests, and decisions. If Claude code didn’t have that it would go about inspecting code to make decisions.

While there are several code indexing systems that build knowledge graphs over the code, Synoptik creates a knowledge graph over both the code and the documentation and anweers: where something is defined, what a change reaches, which decisions govern an area. It is written in Common Lisp and indexes itself. It was built by iteration of the use of Synoptik while building out a large Javascript and LISP project. Synoptik currently works with Common Lisp, JavaScript and Python source and YAML and Markdown documents, and it answers people and LLM agents over a console, a REST API and an MCP endpoint. A user interface against the REST API has not yet been built.

INSTALL.md takes a machine with SBCL to a passing suite. CONTRIBUTING.md says how to change it, and contributors follow the code of conduct. Synoptik is MIT-licensed (LICENSE), and THIRD-PARTY-LICENSES.md lists the licence of each library it loads.

Synoptik now includes a web server app that provides a way to navigate, edit, and interact with coding agents at the document level. Using this tool its easy to write and review requirements, have an agent expand those requirements, build and review designs, create plans, and execute code. Documents and their relatioships can be navigated including dependant code. This provides a powerful way of controlling an agent and writing code at the requirments and design level and letting the agent create and test the code.

Synoptik was called Synoptik until October 2026. The code keeps the old name: the ASDF systems and packages are synoptik-*, the MCP tools are synoptik_*, and the index directory is .synoptik/.

Why

An agent editing code has two ways to learn what a change touches. It can read files until it believes it has seen enough, or it can grep. Grep matches spelling. grep -rn slurp-file src/ returned 27 lines, and four of them were a docstring, an export, a comment and the definition. When two packages define or re-export the same name, grep cannot say which one a call reaches. Either way the agent rebuilds the structure of the tree from scratch at the start of every session, and the documents that record why the code is the way it is sit in other files that it never opens.

Synoptik indexes the tree once and answers from the knowledge graph using both lexical matching and semantic matching. Three cases from VALUE.md, give some illustration of the usefulness of Synoptik:

  • describe slurp-file returned 16 source callers and 2 tests, by location, across three systems. Deciding whether the function was safe to delete from
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →