DD

dynamics365ninja/d365fo-cli

开发工具

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

44 stars 21 forks 质量 69 趋势 27

用于Dynamics 365财务与运营X++开发的CLI工具包。索引AOT元数据,构建对象支架,并通过稳定的JSON信封和MCP连接AI代理。

概览

Dynamics 365 财务与运营的基础人工智能开发——支持 GitHub Copilot、Claude Code、Codex、Gemini CLI 以及任何带有 shell 的代理 AI助手擅长C#、Python和JavaScript。X++则不同:你的D365FO代码库是私密的,高度定制,且对所有模型都不可见——因此AI自信地生成不编译的代码。 这个CLI会预先索引你整个D365FO安装(涵盖标准、独立和自定义模型的数十万符号)到本地SQLite索引中,并以一个d365fo二进制文件的形式暴露。每个签名、每个CoC封装器、每个标签、每一个表单模式——经过与真实元数据核实后,AI只写一行。而且因为它是shell命令而不是MCP工具列表,每回合耗费~100token,而不是~1,800。 表单是最难正确生成的产物——每个模式都规定了所需的容器、顺序和允许的子模式。

概述(AI 翻译)

一个二进制文件,知道你D365FO代码库中所有X++类、表、表单和EDT

Dynamics 365 Finance & Operations 的基础人工智能开发——可支持 GitHub Copilot、Claude Code、Codex、Gemini CLI 及任何拥有 shell 的代理


为什么

AI助手擅长C#、Python和JavaScript。X++则不同:你的D365FO代码库是私密的,高度定制,且对所有模型都不可见——因此AI自信地生成不编译的代码。

这个CLI会预先索引你整个D365FO安装(涵盖标准、独立软件和自定义模型的数十万符号)到本地SQLite索引中,并作为一个d365fo二进制文件暴露。每个签名、每个CoC封装器、每个标签、每一个表单模式——都经过与你的真实元数据核实,**在AI写入一行之前。而且因为它是shell命令而不是MCP工具列表,每回合耗费~100个token,而不是~1,800。

任务 没有 d365fo 带有 d365fo
方法签名 猜测→编译错误 d365fo get class —— 完全正确,来自你的代码库
现有的CoC封装器 手动AOT搜索 d365fo find coc Class::method

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

README

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

d365fo — AI-native CLI for D365 F&O X++


Why

AI assistants excel at C#, Python, and JavaScript. X++ is different: your D365FO codebase is private, deeply customized, and invisible to every model — so AI confidently generates code that doesn’t compile.

This CLI pre-indexes your entire D365FO installation (hundreds of thousands of symbols across standard, ISV, and custom models) into a local SQLite index and exposes it as one d365fo binary. Every signature, every CoC wrapper, every label, every form pattern — verified against your real metadata before the AI writes a single line. And because it is a shell command instead of an MCP tool list, it costs ~100 tokens per turn instead of ~1,800.

Task Without d365fo With d365fo
Method signatures Guessed → compile errors d365fo get class — exact, from your codebase
Existing CoC wrappers Manual AOT search d365fo find coc Class::method in < 50 ms
New forms Hand-written XML, broken patterns Pattern-validated scaffolds; structural violations block the write
Labels Hardcoded strings Right @SYS/@MODULE key found instantly
Security chains Hours of manual tracing Role → Duty → Privilege → Entry Point in one call
Generated code Hallucinated fields and types Every reference proven against the index, gated before write
Agent context cost 32 MCP tool schemas every turn (40 132 chars, ~11 100 tokens — measured) 1 shell tool + lazy-loaded Skills (366 chars, ~100 tokens)

Capabilities

Feature Description
🔍 Full-codebase intelligence Tables, classes, EDTs, enums, forms, queries, views, entities, reports, services, workflows, security artifacts, labels (FTS5) — results in milliseconds, no VM round-trip
🛡️ Grounded generation Fail-closed gates: prepare change/prepare create issue grounding tokens, validate references proves every identifier, validate xpp enforces BP rules — hallucinated code never reaches disk
在 GitHub 查看完整 README

安装

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

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

配置

{ "mcpServers": { "d365fo": { "command": "d365fo-mcp", "args": [], "env": { "D365FO_PACKAGES_PATH": "K:\\AosService\\PackagesLocalDirectory" } } } }