LogicStamp/logicstamp-context
GitHub: LogicStamp/logicstamp-context
将 TypeScript 代码库编译为确定性架构合约的 CLI 工具,帮助 AI 编码助手准确理解项目结构和检测破坏性变更。
Stars: 59 | Forks: 4
LogicStamp Context 是一个 CLI 工具,它将 TypeScript 代码库编译成确定性的、可对比的架构合约和依赖关系图——这是 AI 编码工作流的紧凑、结构化事实来源。
监视模式。严格的、可审计的差异。实时破坏性变更检测。基于 AST 的合约提取。
**包含一个 MCP server。适用于 Claude、Cursor、Copilot Chat 以及任何兼容 MCP 的 agent。**
[](https://www.npmjs.com/package/logicstamp-context)

[](LICENSE)

[](https://github.com/LogicStamp/logicstamp-context/actions)
## 问题所在
AI 编码助手会读取您的源代码——但它们不理解其结构。
它们会产生 props 幻觉,遗漏依赖关系,并且无法检测破坏性变更何时影响消费者。
示例:您的 `Button` 接受 `variant` 和 `disabled`,但 AI 建议使用 `isLoading`,因为它在别处见过该模式。如果没有结构化合约,就没有可靠的事实来源。
**LogicStamp Context** 将 TypeScript 编译成确定性的架构合约和依赖关系图——这是您的系统的机器可读表示,AI 工具可以使用它来代替解析原始实现代码。
这些合约:
- 与您的代码保持同步(监视模式自动重新生成)
- 暴露接口(props、hooks、API)而没有实现噪音
- 是确定性的、可对比的且可审计的
- 能够早期检测架构漂移和破坏性变更

*示例工作流:`stamp context --strict-watch` 生成上下文包,MCP 驱动的助手使用它来解释组件架构(此处显示为 ThemeContext)。*
**相同的代码 ⇒ 相同的上下文输出。** 合约是可对比的,因此您可以检测漂移和破坏性变更。
```
TypeScript Code → Compilation → Deterministic Contracts → AI Assistant
(.ts/.tsx) (ts-morph) (context.json bundles) (Claude, Cursor)
```
## 快速开始
**在 30 秒内试用(无需安装):**
```
npx logicstamp-context context
```
扫描您的代码库并写入 `context.json` 文件以及供 AI 工具使用的 `context_main.json`。
**您将获得:**
- 📁 `context.json` 文件 - 每个包含组件的文件夹一个,保留您的目录结构
- 📋 `context_main.json` - 包含项目概览和文件夹元数据的索引文件
**对于完整的设置(推荐):**
```
npm install -g logicstamp-context
stamp init # sets up .gitignore, scans for secrets
stamp context
```
📋 **有关详细的设置说明,请参阅 [入门指南](https://logicstamp.dev/docs/getting-started)。**
## 为什么选择结构化上下文?
| 没有 LogicStamp Context | 有 LogicStamp Context |
|-------------------|-----------------|
| AI 解析 200 行实现代码以推断组件的接口 | AI 读取 20 行的接口合约 |
| Props/hooks 是推断出来的(通常是错误的) | Props/hooks 是明确且经过验证的 |
| 无法知道上下文是否过时 | 监视模式实时捕获变更 |
| 不同的提示词 = 不同的理解 | 确定性:相同的代码 = 相同的合约 |
| 手动上下文收集:“这是我的 Button 组件...” | 结构化合约:AI 自动理解架构 |
**关键见解:** AI 助手不需要您的实现——它们需要您的*接口*。LogicStamp Context 提取重要内容并丢弃噪音。
### “结构化”意味着什么
与其将原始源代码发送给 AI:
```
// Raw: AI must parse and infer
export const Button = ({ variant = 'primary', disabled, onClick, children }) => {
const [isHovered, setIsHovered] = useState(false);
// ... 150 more lines of implementation
}
```
LogicStamp Context 生成:
```
{
"kind": "react:component",
"interface": {
"props": {
"variant": { "type": "literal-union", "literals": ["primary", "secondary"] },
"disabled": { "type": "boolean" },
"onClick": { "type": "function", "signature": "() => void" }
}
},
"composition": { "hooks": ["useState"], "components": ["./Icon"] }
}
```
预解析的。分类的。稳定的。AI 读取的是合约,而不是实现。
## ⚡ 功能特性
**核心:**
- **确定性合约** - 相同的输入 = 相同的输出,可在版本控制中审计
- **监视模式** - 文件更改时通过增量重建自动重新生成
- **破坏性变更检测** - 严格监视模式实时捕获已移除的 props、事件、函数
- **MCP 就绪** - AI agent 通过标准化 MCP 接口消费上下文
**分析:**
- React/Next.js/Vue 组件提取(props、hooks、state、deps)
- 后端 API 提取(Express.js、NestJS 路由和控制器)
- 依赖关系图(处理循环依赖)
- 样式元数据提取(Tailwind、SCSS、MUI、shadcn)
- Next.js App Router 检测(客户端/服务端、layouts、pages)
**开发者体验:**
- 与您的项目结构匹配的按文件夹包
- 准确的 token 估算(GPT/Claude)
- 安全至上:自动秘密检测和清理
- 零配置 - 合理的默认值,开箱即用
## 监视模式
## MCP 服务器
对于支持 MCP 的 AI 助手(Claude Desktop、Cursor 等):
```
npm install -g logicstamp-mcp
```
然后配置您的 AI 助手以使用 LogicStamp MCP Server。
📋 **有关设置说明,请参阅 [MCP 入门指南](https://logicstamp.dev/docs/mcp/getting-started)**。
## 输出示例
LogicStamp Context 生成按文件夹组织的结构化 JSON 包:
```
{
"type": "LogicStampBundle",
"entryId": "src/components/Button.tsx",
"graph": {
"nodes": [
{
"entryId": "src/components/Button.tsx",
"contract": {
"kind": "react:component",
"interface": {
"props": {
"variant": { "type": "literal-union", "literals": ["primary", "secondary"] },
"onClick": { "type": "function", "signature": "() => void" }
}
},
"composition": {
"hooks": ["useState"],
"components": ["./Icon"]
}
}
}
],
"edges": [["src/components/Button.tsx", "./Icon"]]
}
}
```
📋 **有关完整的格式文档,请参阅 [docs/schema.md](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/schema.md)**。
## 安装
```
npm install -g logicstamp-context
```
安装后,`stamp` 命令将全局可用。
## 安全性
**自动秘密保护**
LogicStamp Context 保护生成的上下文中的敏感数据:
- **默认安全扫描** - `stamp init` 在编译上下文之前扫描源文件(`.ts`、`.tsx`、`.js`、`.jsx`)和 `.json` 文件中的硬编码秘密
- **自动清理** - 检测到的秘密在输出中被替换为 `"PRIVATE_DATA"`
- **手动排除** - 使用 `stamp ignore ` 通过 `.stampignore` 排除文件
- **默认安全** - 仅包含元数据。凭据仅出现在 `--include-code full` 模式下
🔒 **有关完整的安全文档,请参阅 [SECURITY.md](https://github.com/LogicStamp/logicstamp-context/blob/main/SECURITY.md)**。
## 使用方法
# Add to .stampignore
stamp context [path] # Generate context bundles
stamp context style [path] # Generate with style metadata (lean mode by default)
stamp context style --style-mode full # Generate with full style details (verbose)
stamp context --watch # Watch mode
stamp context --strict-watch # Watch with breaking change detection (--watch optional)
stamp context compare # Detect changes vs existing context
stamp context validate [file] # Validate context files
stamp context clean [path] # Remove generated files
```
### 常用选项
| Option | 描述 |
|--------|-------------|
| `--depth ` | 依赖遍历深度(默认值:2) |
| `--include-code ` | 代码包含:`none\|header\|full`(默认值:header) |
| `--include-style` | 提取样式元数据(Tailwind、SCSS、动画) |
| `--format ` | 输出格式:`json\|pretty\|ndjson\|toon`(默认值:json) |
| `--max-nodes ` | 每个包的最大节点数(默认值:100) |
| `--profile
📋 **有关完整参考,请参阅 [docs/cli/commands.md](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/cli/commands.md)**。
## 框架支持
| Framework | 支持级别 | 提取内容 |
|-----------|--------------|------------------|
| **React** | Full | Components, hooks, props, styles |
| **Next.js** | Full | App Router roles, segment paths, metadata |
| **Vue 3** | Partial | Composition API (TS/TSX only, not .vue SFC) |
| **Express.js** | Full | Routes, middleware, API signatures |
| **NestJS** | Full | Controllers, decorators, API signatures |
| **UI Libraries** | Full | Material UI, ShadCN, Radix, Tailwind, Styled Components, SCSS, Chakra, Ant Design (component usage, props, composition; not raw CSS) |
## 文档
**完整文档位于 [logicstamp.dev/docs](https://logicstamp.dev/docs)**
- [入门指南](https://logicstamp.dev/docs/getting-started)
- [使用指南](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/usage.md)
- [Monorepo 支持](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/monorepo.md)
- [输出 Schema](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/schema.md)
- [UIF 合约](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/uif_contracts.md)
- [监视模式](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/cli/watch.md)
- [故障排除](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/usage.md#troubleshooting)
## 已知限制
LogicStamp Context 处于测试阶段。某些边缘情况未完全支持。
📋 **有关完整列表,请参阅 [docs/limitations.md](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/limitations.md)**。
## 环境要求
- Node.js >= 20
- TypeScript 代码库(React、Next.js、Vue (TS/TSX)、Express 或 NestJS)
## 需要帮助?
- **Issues** - [github.com/LogicStamp/logicstamp-context/issues](https://github.com/LogicStamp/logicstamp-context/issues)
- **Roadmap** - [logicstamp.dev/roadmap](https://logicstamp.dev/roadmap)
## 许可证
[MIT](LICENSE)
**链接:** [网站](https://logicstamp.dev) · [GitHub](https://github.com/LogicStamp/logicstamp-context) · [MCP Server](https://github.com/LogicStamp/logicstamp-mcp) · [更新日志](https://github.com/LogicStamp/logicstamp-context/blob/main/CHANGELOG.md)
📑 目录
- [问题所在](#the-problem) - [快速开始](#quick-start) - [为什么选择结构化上下文?](#why-structured-context) - [功能特性](#-features) - [监视模式](#watch-mode) - [工作原理](#how-it-works) - [MCP Server](#mcp-server) - [输出示例](#example-output) - [安装](#installation) - [安全性](#security) - [使用方法](#usage) - [框架支持](#framework-support) - [文档](#documentation) - [已知限制](#known-limitations) - [环境要求](#requirements) - [需要帮助?](#need-help) - [许可证](#license)
📋 LogicStamp Context 是什么(不是什么)
**LogicStamp Context 是:** ✅ **上下文编译器** - 使用 TypeScript 编译器 API(通过 ts-morph)将源代码编译成确定性的架构合约。 ✅ **确定性的** - 相同的输入总是产生相同的输出。合约是可审计和可对比的。 ✅ **本地执行** - 完全在您的机器上运行(无云服务,无网络调用)。 ✅ **框架感知** - 理解 React、Next.js、Vue、Express 和 NestJS 模式并提取相关元数据。 ✅ **非强制性** - 描述存在的内容,而不强制执行模式或架构决策。 **LogicStamp Context 不是:** ❌ **代码生成器** - 它从不写入或修改您的源代码。 ❌ **文档生成器** - 它生成结构化合约,而不是文档。 ❌ **构建或运行时工具** - 它从静态源代码编译合约;它不执行或打包您的应用程序。 ❌ **Linter、格式化程序或测试框架** - 它不检查代码质量或运行测试。 ❌ **AI 行为控制器** - 它提供结构化上下文;它不改变 AI 响应。 ❌ **阅读代码的替代品** - 它加速理解而不取代工程判断。💻 CLI 使用参考
``` stamp --version # Show version stamp --help # Show help stamp init [path] # Initialize project (security scan by default) stamp ignore` | 预设:`llm-chat`, `llm-safe`, `ci-strict`, `watch-fast` |
| `--compare-modes` | 显示所有模式的 token 成本比较 |
| `--stats` | 输出带有 token 估算的 JSON 统计信息 |
| `--out
品牌与署名
LogicStamp Fox 吉祥物和相关品牌资产版权归 © 2025 Amit Levi 所有。未经许可,这些资产不得用于第三方品牌推广。贡献
欢迎提交 Issues 和 PR!请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解指南。 本项目遵循 [行为准则](CODE_OF_CONDUCT.md)。标签:AI编程, Claude, Copilot, Cursor, CVE检测, Express, LLM辅助开发, MCP Server, MITM代理, NestJS, React, Syscalls, TypeScript, Vue, 上下文编译器, 云安全监控, 代码分析, 代码变更检测, 依赖图, 凭证管理, 威胁情报, 安全插件, 开发者工具, 文件系统扫描, 文档结构分析, 架构契约, 自动化payload嵌入, 自动化攻击, 软件架构, 静态分析