{"_id":"@alarmzb/nfd-generator","_rev":"3-9ff9c44d520430400f27e8d2be2d107b","name":"@alarmzb/nfd-generator","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@alarmzb/nfd-generator","version":"1.0.0","_id":"@alarmzb/nfd-generator@1.0.0","maintainers":[{"name":"alarmz","email":"alarmz@gmail.com"}],"bin":{"nfd-generator":"dist/index.js"},"dist":{"shasum":"c2a4f20876f44c43927442e6d020d3e4a51e8a17","tarball":"https://registry.npmjs.org/@alarmzb/nfd-generator/-/nfd-generator-1.0.0.tgz","fileCount":10,"integrity":"sha512-3CsNlCvaTt6j1bluuh7Szbelvg6Ur6nseCmQzLpGhL7Zm/FhVhqgP20fbB6RGLWNp4jccBXdtrJHnr1SZUhFmQ==","signatures":[{"sig":"MEUCIEb2e5ZP7ZM5urOY3SbHHjwrPBdNbKYh94q4Ru977x+NAiEA3AYsN92sJUhGFJ33TDw/EA8F7sFby/Ajwd0V+X2OQig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350220},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"77e74364a73393a5a6b3556a0dd1cf1a41eca1c0","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alarmz","email":"alarmz@gmail.com"},"_npmVersion":"10.9.4","description":"NFD Document Generator MCP Server","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.25.0","jszip":"^3.10.1","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nfd-generator_1.0.0_1775813276469_0.4027731964046519","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alarmzb/nfd-generator","version":"1.0.1","_id":"@alarmzb/nfd-generator@1.0.1","maintainers":[{"name":"alarmz","email":"alarmz@gmail.com"}],"bin":{"nfd-generator":"dist/index.js"},"dist":{"shasum":"a1627a387298474749ae0df7e4fd60ed801d6285","tarball":"https://registry.npmjs.org/@alarmzb/nfd-generator/-/nfd-generator-1.0.1.tgz","fileCount":10,"integrity":"sha512-wWm7MyaGMGIsIDAVNcQVFXcS0IoSco8sIaznJANicA+Lb5jbPz211MbN0MVxc7Ee1r5Zb9DsMwYZOWk0Va8oFA==","signatures":[{"sig":"MEQCIHxGGvy1rq2N0dyuki1LNiO4qGbP27xtRM4xP56rrF4hAiAwHqTOcTzkmMtS60dVBe3JKmuYXM0lTBR1YRQrJmbGaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350232},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"77e74364a73393a5a6b3556a0dd1cf1a41eca1c0","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alarmz","email":"alarmz@gmail.com"},"_npmVersion":"10.9.4","description":"NFD Document Generator MCP Server","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.25.0","jszip":"^3.10.1","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nfd-generator_1.0.1_1776130037469_0.8819966761831228","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@alarmzb/nfd-generator","version":"1.0.2","description":"NFD Document Generator MCP Server","type":"module","main":"dist/index.js","bin":{"nfd-generator":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsc --watch"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","jszip":"^3.10.1","zod":"^3.25.0"},"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_id":"@alarmzb/nfd-generator@1.0.2","gitHead":"dde5884edd5c295172d73e936a01fa5b139907e1","types":"./dist/index.d.ts","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-F2y5qiCsDM/acEX4Wz4V/OKPHwGeU79ALlMM9jqlKNsR70lh4Em5zoQjgsehsAbflfwx67SkzkWCz0I/2PfNwA==","shasum":"072c0e5b75cd43375ea65eccb38e4eb04cd762c7","tarball":"https://registry.npmjs.org/@alarmzb/nfd-generator/-/nfd-generator-1.0.2.tgz","fileCount":11,"unpackedSize":352503,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDVs0xLw0tHV9Rh8ZBUkIGjqFn9QG1hUpnitkRm2OkAWAiBJtpmXkNscvFtuCmICFHTSUGBfc/qZWmG691oBT1JrCg=="}]},"_npmUser":{"name":"alarmz","email":"alarmz@gmail.com"},"directories":{},"maintainers":[{"name":"alarmz","email":"alarmz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nfd-generator_1.0.2_1776131414248_0.23074987800634128"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-10T09:27:56.389Z","modified":"2026-04-14T01:50:14.550Z","1.0.0":"2026-04-10T09:27:56.626Z","1.0.1":"2026-04-14T01:27:17.687Z","1.0.2":"2026-04-14T01:50:14.428Z"},"description":"NFD Document Generator MCP Server","maintainers":[{"name":"alarmz","email":"alarmz@gmail.com"}],"readme":"# @alarmzb/nfd-generator\n\nNFD (New Function Document) 產生器 MCP Server — 根據 PSC (Redmine) 功能描述與 BRD 內容，自動填入範本產出 `.docx` 文件。\n\n## 這個套件**不需要** `.env`\n\n本套件僅提供 `generate_nfd` tool，**不讀取環境變數**、不連線任何外部伺服器、不需要 API Key。\n\n> 若你想從 PSC 自動抓取功能描述，請另外安裝姊妹套件 [`@alarmzb/redmine`](https://www.npmjs.com/package/@alarmzb/redmine)，該套件才是設定 `REDMINE_URL` / `REDMINE_API_KEY` 的地方（**不是 `JIRA_*`**）。\n\n## 安裝\n\n### Claude Code\n```bash\nclaude mcp add nfd-generator -- npx -y @alarmzb/nfd-generator\n```\n\n### 其他 client\n```json\n{\n  \"mcpServers\": {\n    \"nfd-generator\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@alarmzb/nfd-generator\"]\n    }\n  }\n}\n```\n\n建議同時安裝 `@alarmzb/redmine`，才能讓 AI 從 PSC 取得 issue 內容後直接產文件。\n\n## Tools\n\n| Tool | 說明 |\n|------|------|\n| `generate_nfd` | 根據 metadata、checkbox 選項、內容段落填入 NFD 範本並輸出 `.docx` |\n\n支援欄位：\n- **Metadata**：Product / Milestone / Area / Type / Feature/Story # / Module / Holder / NFD ID / Sample / Function Name / Editor / Revision Date\n- **Checkboxes**：Application（13 選項）、Molding Process（14 選項）、Analysis Module（19 選項）\n- **Content**：PURPOSE / FUNCTIONS / BENEFIT / REMARK / Part B\n\n### Feature/Story 編號自動解析\n\n若提供 `psc_subject`（如 `2466 - 210065 [Solution] 功能名稱`），會自動解析為 `Feature/Story = 2466 - 210065`。若 subject 無此格式，會以 `OOOO` 佔位符並提醒手動修改。\n\n## 使用範例\n\n對 AI 說：\n\n```\n幫我用 PSC 211109 產生 NFD 文件，輸出到目前工作目錄\n- Milestone: 2026R2\n- Module: Solution\n- Holder: Jimmy Chien\n- Editor: Jill Chen\n```\n\nAI 流程：\n1. `redmine_get_issue(211109)` 取得 PSC 內容（需 `@alarmzb/redmine`）\n2. 從 subject 解析 Feature/Story 編號\n3. 根據 BRD 產出 PURPOSE / FUNCTIONS / BENEFIT / Part B\n4. `generate_nfd(...)` 輸出 `[NFD] 2332 - 211109 [Solution] 功能名稱.docx`\n\n## 相關\n\n- Repo: https://github.com/alarmz/mcp-hub\n- 搭配套件：[`@alarmzb/redmine`](https://www.npmjs.com/package/@alarmzb/redmine)\n","readmeFilename":"README.md"}