使用说明
米尔丹
AI代码质量编排器-- 确定性质量实施与Haiku证明规划 Claude Code和Cursor。64条安全和质量规则、一个AI漏洞检测器和一个无LLM计划验证器作为零令牌挂钩在本地运行,因此廉价的模型可以在不产生漏洞的情况下进行规划和构建。
uv tool install mirdan # Install mirdan
mirdan init --claude-code # or --cursor
# Done. Quality enforcement is now automatic.
使用 克劳德代码, 光标IDE,以及 光标CLI.确定性检查-一切都保持本地,没有外部API调用。
规划管道——俳句验证图
Mirdan的规划工作流程是 平坦、接地、设计优先 --没有内裤,就没有生意 仪式。计划是研究笔记→ 低层次设计→ 基于原子的步骤,格式如此 便宜的型号可以冷执行 并在实施之前进行机械验证。
这是2.3.0(克劳德代码)和2.4.0(游标)重新排列的核心。两位编辑现已发货
本地计划模式 用坚固的模型计划,用廉价的模型建造 --克劳德代码
opusplan (Opus计划,Sonnet/Haiku构建),Cursor的跨模型计划模式(用Haiku构建/
作曲家)。米尔丹提供了安全的东西:一种廉价的执行者不会产生幻觉的计划格式
针对LLM验证器,加上确定性的LLM验证器。
/plan <slug> <description> → flat grounded plan (format_version 2) with a Low-Level Design
/plan-verify <plan-path> → mechanical self-check (local, deterministic, no LLM)
/plan-review --stakes high <p> → escape hatch: model-judgment review on the shared rubric
Haiku证明格式(format_version: 2)
每 Action: Edit step带有文字 anchor/replace 配对——确切的存在
文本及其替换——因此,廉价的构建模型将其作为查找和替换来应用,而不是
猜测。锚必须 独特 在目标文件中;决策是 预先解决 (没有
“待定”/“稍后决定”);步骤是原子性的。标记了一个无法锚定的判断步骤
[target: capable] 并计数——因此,一个并非完全冷可执行的俳句目标计划就是这么说的。
在克劳德代码中,格式存在于 /plan 技能;在Cursor上,它位于所请求的代理中
mirdan-planning.mdc 本机计划模式读取的规则。
什么 /plan-verify 捕获量(确定性、局部、无LLM)
phantom_files--一步**File:**指向一条不存在的路径dependency_errors—**Depends On:**参考缺失的步骤或循环vague_cross_references--“如前所述”、“见上文”——读者无法理解missing_grounding--缺少文件/操作/详细信息/验证/接地步骤missing_edit_anchors--一个编辑步骤,没有anchor/replace对anchor_uniqueness_errors--找不到锚点,或与文件中的多个位置匹配atomicity_violations--每个步骤有多个文件/操作,或复合“然后”步骤unresolved_decisions--“待定”/要么/“稍后决定”留在计划中lld_gaps(咨询)[EXISTING]没有引用的界面,或[NEW]无步骤创建
这 低级设计 部分是工程物质的栖息地——接口和签名
(每个标签 [NEW]/[EXISTING] 带着一个 file:line 引文)、错误分类和设计
决策浮出水面 enhance_prompt.各小节都有适用性限制——只有在以下情况下才能包含一个小节
适用,无需填写“填写每个标题”。
MCP工具
| 工具 | 退货 |
|---|---|
verify_plan(plan_path) |
{verified, coverage_score, format_version, phantom_files, dependency_errors, vague_cross_references, missing_grounding, missing_edit_anchors, anchor_uniqueness_errors, atomicity_violations, unresolved_decisions, capable_steps, lld_gaps, summary} |
确定性+内容,而非局部模型(2.3.0)
当地法学硕士“情报层”(Gemma通过Ollama/llama cpp)是 在2.3.0中删除. 米尔丹现在 确定性检查+固执己见的内容 --快速、轻松、完全 本地(无模型下载,无外部调用)。这 智能 来自你的编码 助理自己的模型;米尔丹供应他们所缺乏的东西 利用它们的原生机制 (Claude Code 2.x和Cursor 2.x计划模式、子代理、命令挂钩、规则/技能)而不是 重新实施它们:无LLM计划验证器、Haiku证明计划格式、计划审查量规, 人工智能斜坡规则集和精心策划的质量标准。
为什么是米尔丹?
AI编码助手生成代码很快,但没有护栏 污水:硬编码的秘密、SQL注入、占位符函数、幻觉导入、裸露的异常块,以及看似正确但在生产中失败的代码。
Mirdan通过在两点拦截你的AI工作流程来解决这个问题:
- 编码前 —
enhance_prompt通过质量要求、安全约束和特定于框架的标准丰富您的任务,以便AI从一开始就生成更好的代码 - 编码后 —
validate_code_quality抓住漏洞:涵盖安全漏洞、特定于AI的反模式和语言最佳实践的64条规则
一旦安装,它就会通过IDE挂钩隐形运行。你只是正常地编码。
它捕获了什么
以下是mirdan在典型AI生成代码的单个函数上标记的内容:
API_KEY = "sk-proj-abc123456789" # SEC001: hardcoded API key
def get_users(user_id):
query = f"SELECT * FROM users WHERE id={user_id}" # SEC005 + AI008: SQL injection
result = eval(user_input) # PY001: code injection via eval()
data = requests.get(url, verify=False) # SEC007: SSL verification disabled
try:
process(data)
except: # PY003: bare except
pass
结果: 得分0.0/1.0,6个错误,3个警告。通过自动修复,mirdan会自动解决其中的5个问题。
它为你的提示增加了什么
当你要求人工智能助手“在FastAPI中使用JWT令牌创建用户身份验证端点”时,mirdan enhance_prompt 检测到这会触及安全并注入:
- 框架标准: “使用
Depends()和Annotated用于类型安全依赖注入” - 安全约束: “检查是否没有硬编码机密或凭据”
- 质量要求: “对所有请求体和响应模式使用Pydantic模型”
- 验证步骤: “确保错误处理涵盖所有异步操作”
AI会得到结构化的指导,而不是简单的提示,在第一次尝试时就能生成更好的代码。
快速开始
安装
uv tool install mirdan # Install mirdan
# Optional extras:
uv tool install 'mirdan[ast]' # + tree-sitter for TS/JS AST analysis
# Upgrade:
uv tool upgrade mirdan
# Or with pip:
pip install mirdan
设置IDE
mirdan init --claude-code # Claude Code: hooks, rules, skills, agents
mirdan init --cursor # Cursor: hooks, rules, AGENTS.md, BUGBOT.md
mirdan init --all # Both IDEs
这会生成一切——MCP服务器配置、命令类型质量挂钩、规则文件、技能和代理定义。初始化后,IDE会自动:
- 根据安全+质量规则(PostToolUse钩子,零模型令牌)验证每个编辑的文件
- 在回合/任务完成之前运行最终质量门(停止/任务完成挂钩)
- 展示规则、技能(
/plan,/code),并选择加入enhance_prompt对于非琐碎的工作
从命令行使用
mirdan validate --file src/auth.py # Validate a file
mirdan validate --staged # Validate git staged changes
mirdan fix --file src/auth.py # Auto-fix violations (pattern-based)
mirdan check # Run lint + typecheck + test
mirdan gate # CI/CD quality gate (exit 0 or 1)
mirdan scan --dependencies # Check deps for known CVEs
mirdan scan --directory src/ # Discover codebase conventions
运作原理
米尔丹是一个 MCP服务器 --它连接到AI编码助手(Claude Code、Cursor、Claude Desktop或任何MCP客户端),并提供质量执行工具。
┌──────────────────────────────────────────────────┐
│ Your AI Assistant (Claude Code / Cursor / etc) │
│ │
│ 1. You type a coding task │
│ 2. AI generates code │
│ 3. PostToolUse hook validates the edited file │
│ 4. AI fixes the flagged issues │
│ 5. Stop hook runs the quality gate → complete │
└──────────────────────────────────────────────────┘
│ ▲
▼ │
┌──────────────────────────────────────────────────┐
│ Mirdan MCP Server (deterministic + content) │
│ │
│ MCP Tools: │
│ enhance_prompt → Quality requirements │
│ validate_code_quality → 64 deterministic rules │
│ validate_quick → Fast security checks │
│ get_quality_standards → Language/framework ref │
│ get_quality_trends → Historical analysis │
│ scan_dependencies → CVE detection (OSV) │
│ scan_conventions → Convention discovery │
│ verify_plan → No-LLM plan verifier │
└──────────────────────────────────────────────────┘
验证规则
Mirdan船与 64条规则 横跨10个类别。不需要外部服务——所有规则都在本地运行。
AI质量(AI001–AI008)
捕获AI生成代码特有模式的规则:
| 规则 | 它捕获了什么 |
|---|---|
| AI001 | 占位符代码-- raise NotImplementedError, pass 使用TODO(跳过 @abstractmethod) |
| AI002 | 幻觉导入——不在stdlib或项目依赖关系中的包 |
| AI003 | 过度工程化——简单操作的不必要抽象 |
| AI004 | 重复代码块 |
| AI005 | 错误处理模式不一致 |
| AI006 | 在存在较轻替代品的情况下,不必要的重型进口 |
| AI007 | 安全剧场——看似安全但无法提供保护的模式 |
| AI008 | 通过f字符串注入——SQL、eval、exec、os.system插值 |
安全(SEC001–SEC014)
| 规则 | 它捕获了什么 |
|---|---|
| SEC001–003 | 硬编码机密-API密钥、密码、AWS密钥 |
| SEC004–006 | SQL注入--字符串concat、f-string、模板文本 |
| SEC007 | SSL/TLS验证已禁用 |
| SEC008–009 | 通过字符串格式注入Shell命令 |
| SEC010 | JWT验证已禁用 |
| SEC011–013 | 图形数据库注入——Neo4j Cypher、Gremlin |
| SEC014 | 易受攻击的依赖关系——具有已知CVE的包 |
特定语言的
| 语言 | 规则 | 关键检查 |
|---|---|---|
| Python | PY001–PY015 | eval/exec,裸机除外,可变默认值,弃用类型,不安全的pickle/yaml,子进程shell,死导入,无法访问的代码 |
| JavaScript | JS001–JS005 | var、eval、document.write、innerHTML、child_process.exec |
| TypeScript | TS001–TS005 | eval,函数构造函数,@ts忽略, as any,innerHTML |
| Go | GO001–GO003 | 通过fmt忽略错误、panic()、SQL。Sprintf |
| Java | JV001–JV007 | 字符串==,通用异常,System.exit,Runtime.exec,不安全的反序列化 |
| Rust | RS001–RS002 | .unwrap(),空.expect() |
加 001年3月至003年3月 / 沙皇001–004 (函数长度、文件长度、嵌套深度、缺少返回类型), RAG001–002 (块重叠,已弃用的加载器)。
Python规则PY001–PY004的使用 基于AST的验证 --消除字符串和注释中的误报。当 mirdan[ast] 安装后,Types/JavaScript架构检查使用情况 树保姆 用于精确的函数长度、嵌套深度和返回类型分析。
32条规则 通过以下方式支持自动修复 mirdan fix.
语言和框架支持
语言: Python、TypeScript、JavaScript、Go、Java、Rust
33个框架标准 --mirdan知道每种方法的习语、最佳实践和常见陷阱:
React、React Native、Next.js、Nuxt、Vue、SvelteKit、Astro、Flutter、Tailwind、FastAPI、Django、Express、NestJS、Echo、Gin、Spring Boot、Micronaut、Quarkus、Drizzle、Neo4j、Supabase、Converx、Pinecone、Qdrant、Milvus、Weaviate、ChromaDB、FAISS、LangChain、LangGraph、CrewAI、DSPy、tRPC
当 enhance_prompt 检测框架,它注入框架特定的质量要求(例如,“使用 Depends() 和 Annotated对于FastAPI,“首选服务器组件”对于Next.js)。
质量配置文件
配置文件在8个维度上调整执行级别。选择一个与您的项目相匹配的:
| 配置文件 | 安全性 | 架构 | 测试 | AI斜率 | Dep安全性 | 最适合 |
|---|---|---|---|---|---|---|
| 默认 | 0.7 | 0.5 | 0.7 | 0.7 | 0.7 | 0.7 |
| 初创公司 | 0.7 | 0.3 | 0.5 | 0.8 | 0.5 | 带着安全网快速行动 |
| 企业 | 1.0 | 0.9 | 0.9 | 1.0 | 1.0 | 生产企业代码 |
| 金融科技 | 1.0 | 0.8 | 1.0 | 1.0 | 1.0 | 财务等级正确性 |
| 图书馆 | 0.8 | 0.9 | 0.9 | 0.8 | 0.8 | 公共API和包 |
| 数据科学 | 0.7 | 0.3 | 0.5 | 0.6 | 0.5 | 数据安全探索 |
| 原型 | 0.5 | 0.2 | 0.2 | 0.5 | 0.3 | 快速原型制作 |
规模: 0.0–0.3 宽容| 0.3–0.7 适度| 0.7–1.0 严格
mirdan init --quality-profile enterprise
mirdan profile apply fintech # Change later
mirdan profile suggest # Let mirdan recommend one
IDE集成
克劳德代码
mirdan init --claude-code
生成 .mcp.json,命令型钩子,规则,4种技能(/code, /plan, /plan-review, /plan-verify)以及3名代理人(质量门、安全审计、计划审查员)。
钩子是 命令类型 --确定性外壳检查在模型上下文之外运行(零模型令牌),并在失败时阻止:
| 钩子 | 奔跑 |
|---|---|
| PostToolUse | 验证刚刚编辑的文件(mirdan validate --quick --scope security) |
| 停止 | 转弯完成前,对分段/变更组进行质量检查 |
| TaskCompleted | 任务完成时的最终验证门 |
质量指导(AI/SEC规则、规划格式) .claude/rules/ 以及技能,而不是象征性的消费。 enhance_prompt 选择加入——建议在安全敏感、多文件或新库工作之前加入; validate_code_quality 写作后,必须遵守规定。
光标
mirdan init --cursor
生成完整的Cursor 2.x集成:
- 规则 —
.cursor/rules/*.mdc(始终在线、安全、计划、计划审查、计划验证、代理、特定语言)——mirdan-planning.mdc规则携带本地plan Mode读取的Haiku证明计划格式 - 钩子 —
.cursor/hooks.json具有零令牌命令类型挂钩(编辑时验证、shell保护、停止时分阶段验证),.cursor/hooks/*.sh脚本 - 子代理 —
.cursor/agents/*.md(质量验证器、安全扫描器、计划审查员) - 技能 —
.cursor/skills/*/SKILL.md跟随 代理技能标准 (代码、计划审查) - 命令 —
.cursor/commands/*.md斜线命令(/code,/plan,/plan-verify,/plan-review,/automations) - 环境 —
.cursor/environment.json适用于云代理环境 - 配置 —
.cursor/mcp.json,AGENTS.md,BUGBOT.md
光标有工具槽限制。集 MIRDAN_TOOL_BUDGET 控制暴露哪些工具(2=仅验证,5+=所有工具)。
克劳德桌面/任何MCP客户端
添加到MCP配置中:
{
"mcpServers": {
"mirdan": {
"command": "uvx",
"args": ["mirdan"]
}
}
}
企业部署
对于通过托管配置在整个组织范围内执行:
macOS: /Library/Application Support/ClaudeCode/managed-mcp.json
Linux: /etc/claude-code/managed-mcp.json
{
"mcpServers": {
"mirdan": {
"command": "uvx",
"args": ["mirdan"]
}
}
}
CI/CD集成
GitHub 操作
将此工作流添加到 .github/workflows/mirdan.yml:
name: Mirdan Quality Gate
on: [pull_request]
jobs:
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v4
- run: uv tool install mirdan
- run: mirdan gate
SARIF导出用于GitHub代码扫描
- run: mirdan export --format sarif > results.sarif
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
预提交钩子
# .pre-commit-config.yaml
repos:
- repo: local
hooks:
- id: mirdan
name: mirdan quality gate
entry: mirdan validate --staged --quick
language: system
types: [python]
质量徽章
mirdan export --format badge > .mirdan/badge.json
配置
mirdan init 生成 .mirdan/config.yaml.关键部分:
version: "1.0"
project:
name: "MyApp"
primary_language: "python"
frameworks: ["fastapi", "react"]
# Quality enforcement levels
quality:
security: "strict" # strict|moderate|permissive
architecture: "moderate"
documentation: "moderate"
testing: "strict"
# Or use a named profile (overrides quality section)
quality_profile: "default"
# Semantic validation and dependency scanning
semantic:
enabled: true
analysis_protocol: "security" # none|security|comprehensive
dependencies:
enabled: true
osv_cache_ttl: 86400 # 24 hours
scan_on_gate: true
fail_on_severity: "high" # critical|high|medium|low|none
# Score thresholds
thresholds:
severity_error_weight: 0.25
severity_warning_weight: 0.08
arch_max_function_length: 30
arch_max_file_length: 300
# Per-file threshold overrides (glob patterns)
file_overrides:
- pattern: "tests/**"
arch_max_function_length: 60
- pattern: "scripts/**"
arch_max_file_length: 500
# Hook behavior
hooks:
enabled_events: ["PostToolUse", "Stop"]
quick_validate_timeout: 5000
auto_fix_suggestions: true
高级功能
基于AST的验证
Python规则PY001–PY004通过 ast 模块,消除字符串中eval/exec的误报、注释中的空异常等。另外两条AST规则:
- 第014页 (死导入)--检测未使用的导入,尊重
TYPE_CHECKING阻碍,__all__,以及别名导入 - 2015年4月 (无法访问的代码)--检测以下代码
return/raise/break/continue,跳过finally块
对于Types/JavaScript,安装可选 ast 额外启用树保姆解析:
uv tool install 'mirdan[ast]'
这提供了精确的函数长度、嵌套深度和缺失返回类型检测,而不是正则表达式近似。当未安装树保姆时,优雅地回退到正则表达式。
完整文件差异验证
验证差异时(通过钩子或 validate_code_quality 和 input_type="diff"),mirdan在可用时从磁盘读取完整文件。这允许进行需要完整文件上下文的架构检查(函数长度、嵌套深度)。违规仅过滤到更改的行,文件范围规则(文件太长)从差异结果中排除。
自适应文件路径阈值
使用以下命令覆盖特定文件模式的阈值 file_overrides 在您的配置中:
thresholds:
arch_max_function_length: 30
file_overrides:
- pattern: "tests/**"
arch_max_function_length: 60 # Tests can be longer
- pattern: "migrations/**"
arch_max_file_length: 1000 # Migration files are naturally long
模式使用glob语法,并与文件路径匹配。覆盖仅替换它们指定的字段——所有其他阈值都继承自基本配置。
会议发现
扫描您的代码库以发现隐式模式并生成自定义规则:
mirdan init --learn # During init
mirdan scan --directory src/ # Standalone
发现命名模式、导入样式、文档字符串约定和重复模式。生成 .mirdan/rules/conventions.yaml 根据项目特定规则。
依赖漏洞扫描
检查与的依赖关系 OSV数据库 (免费,不需要API密钥):
mirdan scan --dependencies # Standalone scan
mirdan gate --include-dependencies # Quality gate + vuln check
支持PyPI、npm、crates.io、Go和Maven。结果将缓存24小时。导入包中的漏洞会在代码验证期间触发SEC014违规。
语义验证
validate_code_quality 回报 semantic_checks --由代码模式(SQL查询、身份验证逻辑、加密操作、文件I/O)生成的有针对性的审查问题。这些指导人工智能调查具体问题,而不是进行浅层模式匹配。对于安全关键代码 analysis_protocol 提供结构化的深度分析步骤。
质量预测
get_quality_trends 分析验证历史以跟踪随时间变化的分数,预测轨迹,检测会话之间的回归,并计算通过率。
会话跟踪和反馈循环
每 enhance_prompt 呼叫返回a session_id。将其传递给 validate_code_quality 在整个任务生命周期中跟踪质量。将其传递回 enhance_prompt 在下一次呼叫关闭反馈循环时:
enhance_prompt(task) → session_id, enhanced_prompt
↓ implement code
validate_code_quality(code, session_id) → violations, session_context
↓ fix issues, iterate
enhance_prompt(task, session_id=...) → persistent violations injected
as priority quality requirements
当违规在两个或多个连续验证中重复出现时,mirdan会将其作为优先级显示出来 quality_requirement 在下一个增强的提示中,确保人工智能解决根本原因,而不是在破碎的基础上添加新代码。
多智能体协调
钩子配置为自主代理(光标背景代理、克劳德代码子代理)提供了护栏,确保了在没有人为监督的情况下执行质量。
跨项目情报
当与 恩亚尔 (持久知识图MCP),mirdan将项目约定存储为知识条目,并在项目之间调用模式。
升级
uv tool upgrade mirdan # Upgrade to latest version
mirdan init --upgrade # Regenerate IDE integration files
uv tool upgrade 更新包。 mirdan init --upgrade 将新配置字段合并到现有配置字段中 .mirdan/config.yaml,重新生成集成文件,并保留您的自定义设置。
MCP工具参考
enhance_prompt
编码任务的入口点。用质量要求、安全约束和工具建议丰富提示。
Parameters:
prompt (required) — The coding task description
task_type — generation|refactor|debug|review|test|planning|auto
context_level — minimal|auto|comprehensive
max_tokens — Token budget (0=unlimited)
model_tier — auto|opus|sonnet|haiku
session_id — Resume an existing session to thread validation
feedback into this prompt. Persistent violations
from prior validate_code_quality calls are injected
as priority quality requirements.
Returns:
enhanced_prompt — Enriched prompt with quality guidance
detected_language — Primary language detected
detected_frameworks — Frameworks to query docs for
task_type — Primary detected task type
task_types — All detected task types (compound detection). A
prompt like "add tests for the new feature" returns
["test", "generation"] and unions verification steps
from both types.
touches_security — Whether task involves security-sensitive code
quality_requirements — Constraints to follow during implementation
verification_steps — Checklist before marking complete. Compressed to a
single re-validation step when a prior session passed,
reducing context waste on iterative work.
tool_recommendations — Which MCPs to call for context. Session-aware:
targets enyal recall to failure patterns on re-calls
with errors; suppresses redundant recalls after a pass.
validate_code_quality
出口门——根据质量标准验证代码。返回分数、违规和语义审查问题。
Parameters:
code (required) — Code to validate
language — python|typescript|javascript|rust|go|java|auto
check_security — Enable security rules (default: true)
check_architecture — Enable architecture rules (default: true)
check_style — Enable style rules (default: true)
severity_threshold — error|warning|info
input_type — code|diff|compare
session_id — Session ID from enhance_prompt
Returns:
passed — Whether validation passed
score — Quality score (0.0–1.0)
violations — List of rule violations with details. Each violation
includes verifiable: false when the check is
pattern-based (AI001–AI008) rather than AST-verified,
so the AI knows to confirm semantically before fixing.
semantic_checks — Targeted review questions from code patterns
summary — Human-readable summary
validate_quick
钩子集成的快速安全验证(<500ms)。运行SEC001–SEC014、AI001和AI008。
get_quality_标准
查找语言/框架组合的质量标准。
get_quality_trends
验证历史中的质量分数趋势和预测。
扫描依赖性
通过OSV数据库扫描项目依赖关系以查找已知漏洞。
scan_惯例
发现隐式代码库约定并生成自定义规则。
CLI参考
| 命令 | 目的 |
|---|---|
mirdan serve |
启动MCP服务器(默认) |
mirdan init |
初始化项目——生成配置、钩子、规则、IDE集成 |
mirdan validate |
验证代码质量(--file, --staged, --stdin, --diff, --quick) |
mirdan gate |
CI/CD质量门(--include-dependencies 用于vuln检查) |
mirdan fix |
自动修复违规行为(--dry-run, --auto, --staged) |
mirdan check |
运行lint+类型检查+测试 |
mirdan scan |
发现惯例(--directory)或扫描deps(--dependencies) |
mirdan profile |
管理质量档案(list, suggest, apply) |
mirdan export |
导出结果(--format sarif|badge|json) |
mirdan report |
质量报告(--session, --compact-state, --format) |
mirdan standards |
查看语言的质量标准 |
mirdan checklist |
查看任务类型的验证清单 |
mirdan plugin |
插件导出用于独立分发 |
故障排除
服务器未连接
- 检查uvx是否可用:
uvx --version - 手动测试服务器:
uvx mirdan(应该开始时没有错误) - 检查克劳德代码中的状态:
/mcp
调试日志
{
"mcpServers": {
"mirdan": {
"command": "uvx",
"args": ["mirdan"],
"env": { "FASTMCP_DEBUG": "true" }
}
}
}
常见问题
| 问题 | 解决方案 |
|---|---|
command not found: uvx |
安装紫外线: curl -LsSf https://astral.sh/uv/install.sh | sh |
command not found: mirdan |
uv tool install mirdan |
| 服务器已启动,但未显示任何工具 | 配置更改后重新启动IDE |
| Python版本错误 | 确保安装了Python 3.11+ |
| 钩未射击 | 检查钩的严格程度——MINIMAL仅在2个事件中射击 |
| 工具预算限制工具 | 设置 MIRDAN_TOOL_BUDGET=5 或删除env变量 |
发展
git clone https://github.com/S-Corkum/mirdan.git
cd mirdan
uv sync --all-extras # Includes tree-sitter for TS/JS AST
uv run pytest # 3050+ tests
uv run mirdan # Run server locally
许可证
麻省理工学院