@lich0821/devmind 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/devmind.js +5 -0
- package/dist/commands/audit.d.ts +8 -0
- package/dist/commands/audit.d.ts.map +1 -0
- package/dist/commands/audit.js +87 -0
- package/dist/commands/audit.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +240 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/recall.d.ts +2 -0
- package/dist/commands/recall.d.ts.map +1 -0
- package/dist/commands/recall.js +89 -0
- package/dist/commands/recall.js.map +1 -0
- package/dist/commands/status.d.ts +2 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +88 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +48 -0
- package/dist/index.js.map +1 -0
- package/dist/templates-commands.d.ts +5 -0
- package/dist/templates-commands.d.ts.map +1 -0
- package/dist/templates-commands.js +201 -0
- package/dist/templates-commands.js.map +1 -0
- package/dist/templates-commands2.d.ts +8 -0
- package/dist/templates-commands2.d.ts.map +1 -0
- package/dist/templates-commands2.js +394 -0
- package/dist/templates-commands2.js.map +1 -0
- package/dist/templates-devmind.d.ts +14 -0
- package/dist/templates-devmind.d.ts.map +1 -0
- package/dist/templates-devmind.js +195 -0
- package/dist/templates-devmind.js.map +1 -0
- package/dist/templates.d.ts +5 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +203 -0
- package/dist/templates.js.map +1 -0
- package/dist/utils/find-devmind.d.ts +10 -0
- package/dist/utils/find-devmind.d.ts.map +1 -0
- package/dist/utils/find-devmind.js +34 -0
- package/dist/utils/find-devmind.js.map +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAA6C,CAAC;AAEnF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACF,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;KAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAE1B,OAAO;KACF,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,CAAC,IAAa,EAAE,EAAE;IACtB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;IACvC,OAAO,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,GAAG,EAAE;IACT,SAAS,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,CAAC,OAAe,EAAE,EAAE;IACxB,SAAS,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,EAAE,IAAI,CAAC;KAClE,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;KAClD,MAAM,CAAC,mBAAmB,EAAE,0CAA0C,CAAC;KACvE,MAAM,CAAC,CAAC,IAAqD,EAAE,EAAE;IAC9D,QAAQ,CAAC;QACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACrD,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;KAClB,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEP,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const CMD_EXPLORE = "---\ndescription: \u8FDB\u5165\u53EA\u8BFB\u5206\u6790\u6A21\u5F0F\uFF0C\u7406\u89E3\u4EE3\u7801\u67B6\u6784\uFF0C\u5B9A\u4F4D\u95EE\u9898\uFF0C\u4E0D\u4FEE\u6539\u4EFB\u4F55\u6587\u4EF6\n---\n\n\u8FDB\u5165 **EXPLORE \u6A21\u5F0F**\uFF08\u53EA\u8BFB\uFF09\u3002\n\n## \u524D\u7F6E\u64CD\u4F5C\n\n```sh\necho \"explore\" > .devmind/current-mode.txt\n```\n\n## \u884C\u4E3A\u89C4\u5219\n\n- **\u7981\u6B62**\u8C03\u7528 Write / Edit / NotebookEdit \u5DE5\u5177\uFF08Hook \u4F1A\u81EA\u52A8\u62E6\u622A\uFF09\n- \u53EF\u81EA\u7531\u8BFB\u53D6\u4EFB\u4F55\u6587\u4EF6\n- \u52A0\u8F7D `.devmind/memory/index.md`\uFF0C\u4E86\u89E3\u9879\u76EE\u5386\u53F2\u51B3\u7B56\u80CC\u666F\n\n## \u5206\u6790\u8F93\u51FA\u683C\u5F0F\n\n\u5B8C\u6210\u63A2\u7D22\u540E\uFF0C\u8F93\u51FA\uFF1A\n\n1. **\u53D1\u73B0\u6458\u8981**\uFF1A1-3 \u53E5\u8BDD\u63CF\u8FF0\u5173\u952E\u53D1\u73B0\n2. **\u76F8\u5173\u8BB0\u5FC6**\uFF1A\u5217\u51FA index.md \u4E2D\u4E0E\u5F53\u524D\u95EE\u9898\u76F8\u5173\u7684 Decision/Pattern\uFF08\u5982\u6709\uFF09\n3. **\u5EFA\u8BAE\u4E0B\u4E00\u6B65**\uFF1A\u6839\u636E\u53D1\u73B0\u63A8\u8350\u5207\u6362\u5230\u54EA\u4E2A\u6A21\u5F0F\n - \u95EE\u9898\u5DF2\u5B9A\u4F4D\uFF0C\u6539\u52A8\u5C0F \u2192 \u5EFA\u8BAE `/dm:edit`\n - \u9700\u8981\u65B9\u6848\u89C4\u5212 \u2192 \u5EFA\u8BAE `/dm:plan`\n - \u5DF2\u6709\u660E\u786E\u8BA1\u5212 \u2192 \u5EFA\u8BAE `/dm:build`\n\n## \u6CE8\u610F\n\n\u4E0D\u8981\u5728 Explore \u6A21\u5F0F\u4E0B\u7ED9\u51FA\"\u4FEE\u6539\u5EFA\u8BAE\"\u2014\u2014\u63A2\u7D22\u662F\u4E3A\u4E86\u7406\u89E3\uFF0C\u4E0D\u662F\u4E3A\u4E86\u884C\u52A8\u3002\n\u5982\u9700\u4FEE\u6539\uFF0C\u660E\u786E\u5207\u6362\u6A21\u5F0F\u540E\u518D\u64CD\u4F5C\u3002\n";
|
|
2
|
+
export declare const CMD_EDIT = "---\ndescription: \u8FDB\u5165\u5C0F\u8303\u56F4\u7F16\u8F91\u6A21\u5F0F\uFF0C\u76F4\u63A5\u5B9E\u65BD\u660E\u786E\u7684\u4FEE\u6539\uFF0C\u8DE8\u6587\u4EF6\u6539\u52A8\u9700\u786E\u8BA4\n---\n\n\u8FDB\u5165 **EDIT \u6A21\u5F0F**\uFF08\u5C0F\u8303\u56F4\u7F16\u8F91\uFF09\u3002\n\n## \u524D\u7F6E\u64CD\u4F5C\n\n```sh\necho \"edit\" > .devmind/current-mode.txt\n```\n\n## \u884C\u4E3A\u89C4\u5219\n\n- \u53EF\u76F4\u63A5\u4FEE\u6539\u6587\u4EF6\uFF0C\u65E0\u9700\u9884\u5148\u5236\u5B9A\u8BA1\u5212\n- **\u8DE8\u6587\u4EF6\u6539\u52A8\u8D85\u8FC7 2 \u4E2A\u6587\u4EF6\u65F6**\uFF0C\u5148\u5217\u51FA\u6539\u52A8\u6E05\u5355\uFF0C\u7B49\u5F85\u786E\u8BA4\u540E\u518D\u6267\u884C\n- \u4FEE\u6539\u5B8C\u6210\u540E\uFF0C\u7B80\u8981\u8BF4\u660E\u505A\u4E86\u4EC0\u4E48\n\n## \u8C03\u8BD5\u573A\u666F\u4F7F\u7528\u65B9\u5F0F\n\n- **\u8BCA\u65AD\u9636\u6BB5**\uFF1A\u4F7F\u7528 `/dm:explore`\uFF08\u53EA\u8BFB\uFF0C\u5B9A\u4F4D\u6839\u56E0\uFF09\n- **\u4FEE\u590D\u9636\u6BB5**\uFF1A\u5207\u6362\u5230 `/dm:edit`\uFF08\u6700\u5C0F\u5316\u4FEE\u590D\uFF09\n\n## \u6CE8\u610F\n\nEdit \u6A21\u5F0F\u9002\u5408\u660E\u786E\u7684\u5C0F\u8303\u56F4\u6539\u52A8\u3002\u5982\u679C\u6539\u52A8\u8303\u56F4\u6269\u5927\uFF0C\u5EFA\u8BAE\u5207\u6362\u5230 `/dm:plan` \u5236\u5B9A\u65B9\u6848\u3002\n";
|
|
3
|
+
export declare const CMD_PLAN = "---\ndescription: \u5236\u5B9A\u7ED3\u6784\u5316\u65B9\u6848\uFF0C\u5F3A\u5236\u68C0\u7D22 Graveyard \u9632\u6B62\u91CD\u8E48\u8986\u8F99\uFF0C\u7B49\u5F85\u5F00\u53D1\u8005\u9009\u62E9\u540E\u751F\u6210 Spec\n---\n\n\u8FDB\u5165 **PLAN \u6A21\u5F0F**\uFF08\u65B9\u6848\u89C4\u5212\uFF09\u3002\n\n## \u524D\u7F6E\u64CD\u4F5C\n\n```sh\necho \"plan\" > .devmind/current-mode.txt\n```\n\n## \u6267\u884C\u6B65\u9AA4\n\n### \u6B65\u9AA41\uFF1A\u5F3A\u5236\u68C0\u7D22 Graveyard\n\n\u8BFB\u53D6 `.devmind/memory/graveyard/` \u4E0B\u7684\u6240\u6709\u6587\u4EF6\u3002\n\n\u68C0\u67E5\u5F53\u524D\u63D0\u8BAE\u662F\u5426\u4E0E\u5DF2\u5426\u51B3\u65B9\u6848\u76F8\u4F3C\uFF08\u5173\u952E\u8BCD\u91CD\u53E0\uFF09\u3002\n\n\u5982\u53D1\u73B0\u5339\u914D\uFF0C**\u5FC5\u987B**\u5148\u8F93\u51FA\u8B66\u544A\uFF1A\n\n```\n\u26A0\uFE0F \u53D1\u73B0\u76F8\u4F3C\u7684\u5DF2\u5426\u51B3\u65B9\u6848\uFF1A[\u65B9\u6848\u540D]\n \u5426\u51B3\u539F\u56E0\uFF1A[\u539F\u56E0\u6458\u8981]\n \u5173\u952E\u8BCD\u91CD\u53E0\uFF1A[\u5173\u952E\u8BCD\u5217\u8868]\n\n\u8BF7\u9009\u62E9\uFF1A\n(1) \u67E5\u770B\u5B8C\u6574\u5426\u51B3\u539F\u56E0\u540E\u51B3\u5B9A\u662F\u5426\u7EE7\u7EED\n(2) \u60C5\u51B5\u4E0D\u540C\uFF0C\u5F53\u524D\u65B9\u6848\u4E0E\u6B64\u65E0\u5173\uFF0C\u7EE7\u7EED\u89C4\u5212\n(3) \u786E\u5B9E\u76F8\u4F3C\uFF0C\u76F4\u63A5\u653E\u5F03\u6B64\u65B9\u5411\n```\n\n\u7B49\u5F85\u5F00\u53D1\u8005\u9009\u62E9\u540E\u7EE7\u7EED\u3002\n\n### \u6B65\u9AA42\uFF1A\u8F93\u51FA\u7ED3\u6784\u5316\u65B9\u6848\u5BF9\u6BD4\n\n\u6BCF\u4E2A\u65B9\u6848\u4F7F\u7528\u4EE5\u4E0B\u683C\u5F0F\uFF1A\n\n```markdown\n## \u65B9\u6848 X\uFF1A[\u65B9\u6848\u540D]\n\n### \u786E\u5B9A\u7684\u90E8\u5206\n- [\u6761\u76EE]\n\n### \u4E0D\u786E\u5B9A\u7684\u90E8\u5206\n- \u26A0\uFE0F [\u4E0D\u786E\u5B9A\u70B9]\uFF1A[\u8BF4\u660E]\n\n### \u98CE\u9669\u8BC4\u4F30\n- \u6280\u672F\u98CE\u9669\uFF1A\u4F4E/\u4E2D/\u9AD8\n- \u56DE\u6EDA\u6210\u672C\uFF1A\u4F4E/\u4E2D/\u9AD8\n```\n\n### \u6B65\u9AA43\uFF1A\u7B49\u5F85\u5F00\u53D1\u8005\u9009\u62E9\n\n\u8F93\u51FA\u6240\u6709\u65B9\u6848\u540E\uFF0C\u7B49\u5F85\u5F00\u53D1\u8005\u660E\u786E\u9009\u62E9\uFF0C\u4E0D\u8981\u81EA\u884C\u63A8\u8FDB\u3002\n\n### \u6B65\u9AA44\uFF1A\u751F\u6210 Spec \u5316 current-plan.md\n\n\u5F00\u53D1\u8005\u9009\u5B9A\u65B9\u6848\u540E\uFF0C\u5199\u5165 `.devmind/current-plan.md`\uFF1A\n\n```markdown\n# \u8BA1\u5212\uFF1A[\u4EFB\u52A1\u540D\u79F0]\n\n> \u9009\u5B9A\u65E5\u671F\uFF1AYYYY-MM-DD \u65B9\u6848\uFF1A[\u65B9\u6848\u540D]\n\n## Spec\n\n### \u7EA6\u675F\uFF08\u4E0D\u53EF\u8FDD\u53CD\uFF0C\u8FDD\u53CD\u65F6\u81EA\u52A8\u6682\u505C\uFF09\n- [\u7EA6\u675F\u6761\u76EE]\n\n### \u9884\u671F\u4EA7\u51FA\uFF08\u53EF\u9A8C\u8BC1\uFF09\n- [ ] [\u53EF\u9A8C\u8BC1\u7684\u4EA7\u51FA\u6761\u76EE]\n\n### \u5141\u8BB8\u4FEE\u6539\u7684\u6587\u4EF6\u8303\u56F4\n- [\u6587\u4EF6\u6216\u76EE\u5F55]\n\n### \u660E\u786E\u6392\u9664\uFF08\u4FEE\u6539\u8FD9\u4E9B\u6587\u4EF6\u65F6\u5FC5\u987B\u6682\u505C\u786E\u8BA4\uFF09\n- [\u6587\u4EF6\u6216\u76EE\u5F55]\n\n## \u6267\u884C\u6B65\u9AA4\n\n1. [\u6B65\u9AA4]\n```\n\n## \u6CE8\u610F\n\n- \u4E0D\u4FEE\u6539\u4EFB\u4F55\u4E1A\u52A1\u4EE3\u7801\uFF08Hook \u5F3A\u5236\u6267\u884C\uFF09\n- \u65B9\u6848\u5BF9\u6BD4\u8981\u5BA2\u89C2\uFF0C\u4E0D\u8981\u504F\u5411\u590D\u6742\u65B9\u6848\n";
|
|
4
|
+
export declare const CMD_BUILD = "---\ndescription: \u6309\u786E\u8BA4\u8BA1\u5212\u4E25\u683C\u6267\u884C\uFF0C\u652F\u6301\u65AD\u70B9\u7EED\u4F20\uFF0C\u9047\u8BA1\u5212\u5916\u5206\u53C9\u81EA\u52A8\u6682\u505C\n---\n\n\u8FDB\u5165 **BUILD \u6A21\u5F0F**\uFF08Spec \u6267\u884C\uFF09\u3002\n\n## \u524D\u7F6E\u64CD\u4F5C\n\n```sh\necho \"build\" > .devmind/current-mode.txt\n```\n\n## \u542F\u52A8\u68C0\u67E5\n\n### 1. \u68C0\u67E5\u5386\u53F2\u68C0\u67E5\u70B9\n\n\u8BFB\u53D6 `.devmind/session.yaml`\uFF08\u5982\u679C\u5B58\u5728\uFF09\uFF1A\n\n\u5982\u679C\u6709 `status: paused` \u7684\u68C0\u67E5\u70B9\uFF0C**\u7ACB\u5373\u544A\u77E5**\u5F00\u53D1\u8005\uFF1A\n```\n\u4E0A\u6B21\u4EFB\u52A1\uFF1A[\u8BA1\u5212\u540D]\n\u5DF2\u5B8C\u6210\uFF1A[\u5DF2\u5B8C\u6210\u68C0\u67E5\u70B9\u5217\u8868]\n\u5F85\u7EED\uFF1A[\u6682\u505C\u68C0\u67E5\u70B9] \u2014 \u539F\u56E0\uFF1A[\u6682\u505C\u539F\u56E0]\n\n\u8BF7\u9009\u62E9\uFF1A\n(1) \u4ECE\u65AD\u70B9\u7EE7\u7EED\n(2) \u91CD\u65B0\u5F00\u59CB\uFF08\u6E05\u9664\u5386\u53F2\u68C0\u67E5\u70B9\uFF09\n```\n\n### 2. \u52A0\u8F7D\u6267\u884C\u7EA6\u675F\n\n\u8BFB\u53D6 `.devmind/current-plan.md` \u7684 Spec \u533A\u5757\u3002\n\n\u5982\u679C `current-plan.md` \u4E0D\u5B58\u5728\u6216\u6CA1\u6709 Spec \u533A\u5757\uFF0C\u505C\u6B62\u5E76\u63D0\u793A\uFF1A\n```\n\u7F3A\u5C11\u6267\u884C\u8BA1\u5212\u3002\u8BF7\u5148\u4F7F\u7528 /dm:plan \u5236\u5B9A\u65B9\u6848\u3002\n```\n\n## \u6267\u884C\u89C4\u5219\n\n1. **\u4E25\u683C\u6309\u7167\u6267\u884C\u6B65\u9AA4\u63A8\u8FDB**\uFF0C\u4E0D\u8DF3\u6B65\n2. \u6BCF\u5B8C\u6210\u4E00\u4E2A\u6B65\u9AA4\uFF0C\u5411 `session.yaml` \u8FFD\u52A0\u68C0\u67E5\u70B9\n3. \u9047\u5230\u8BA1\u5212\u5916\u6587\u4EF6\u3001\u4F9D\u8D56\u6216\u7EA6\u675F\u51B2\u7A81\u65F6**\u7ACB\u5373\u6682\u505C**\n\n## \u5B8C\u6210\u540E\n\n\u8F93\u51FA\u6267\u884C\u6458\u8981\uFF0C\u5EFA\u8BAE\u4F7F\u7528 `/dm:remember` \u6C89\u6DC0\u51B3\u7B56\u3002\n";
|
|
5
|
+
//# sourceMappingURL=templates-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates-commands.d.ts","sourceRoot":"","sources":["../src/templates-commands.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,sqDAiCvB,CAAC;AAEF,eAAO,MAAM,QAAQ,wwCA0BpB,CAAC;AAEF,eAAO,MAAM,QAAQ,ouGAyFpB,CAAC;AAEF,eAAO,MAAM,SAAS,g3DA+CrB,CAAC"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
// templates-commands.ts — Slash command templates (part 1: explore/edit/plan/build)
|
|
2
|
+
export const CMD_EXPLORE = `---
|
|
3
|
+
description: 进入只读分析模式,理解代码架构,定位问题,不修改任何文件
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
进入 **EXPLORE 模式**(只读)。
|
|
7
|
+
|
|
8
|
+
## 前置操作
|
|
9
|
+
|
|
10
|
+
\`\`\`sh
|
|
11
|
+
echo "explore" > .devmind/current-mode.txt
|
|
12
|
+
\`\`\`
|
|
13
|
+
|
|
14
|
+
## 行为规则
|
|
15
|
+
|
|
16
|
+
- **禁止**调用 Write / Edit / NotebookEdit 工具(Hook 会自动拦截)
|
|
17
|
+
- 可自由读取任何文件
|
|
18
|
+
- 加载 \`.devmind/memory/index.md\`,了解项目历史决策背景
|
|
19
|
+
|
|
20
|
+
## 分析输出格式
|
|
21
|
+
|
|
22
|
+
完成探索后,输出:
|
|
23
|
+
|
|
24
|
+
1. **发现摘要**:1-3 句话描述关键发现
|
|
25
|
+
2. **相关记忆**:列出 index.md 中与当前问题相关的 Decision/Pattern(如有)
|
|
26
|
+
3. **建议下一步**:根据发现推荐切换到哪个模式
|
|
27
|
+
- 问题已定位,改动小 → 建议 \`/dm:edit\`
|
|
28
|
+
- 需要方案规划 → 建议 \`/dm:plan\`
|
|
29
|
+
- 已有明确计划 → 建议 \`/dm:build\`
|
|
30
|
+
|
|
31
|
+
## 注意
|
|
32
|
+
|
|
33
|
+
不要在 Explore 模式下给出"修改建议"——探索是为了理解,不是为了行动。
|
|
34
|
+
如需修改,明确切换模式后再操作。
|
|
35
|
+
`;
|
|
36
|
+
export const CMD_EDIT = `---
|
|
37
|
+
description: 进入小范围编辑模式,直接实施明确的修改,跨文件改动需确认
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
进入 **EDIT 模式**(小范围编辑)。
|
|
41
|
+
|
|
42
|
+
## 前置操作
|
|
43
|
+
|
|
44
|
+
\`\`\`sh
|
|
45
|
+
echo "edit" > .devmind/current-mode.txt
|
|
46
|
+
\`\`\`
|
|
47
|
+
|
|
48
|
+
## 行为规则
|
|
49
|
+
|
|
50
|
+
- 可直接修改文件,无需预先制定计划
|
|
51
|
+
- **跨文件改动超过 2 个文件时**,先列出改动清单,等待确认后再执行
|
|
52
|
+
- 修改完成后,简要说明做了什么
|
|
53
|
+
|
|
54
|
+
## 调试场景使用方式
|
|
55
|
+
|
|
56
|
+
- **诊断阶段**:使用 \`/dm:explore\`(只读,定位根因)
|
|
57
|
+
- **修复阶段**:切换到 \`/dm:edit\`(最小化修复)
|
|
58
|
+
|
|
59
|
+
## 注意
|
|
60
|
+
|
|
61
|
+
Edit 模式适合明确的小范围改动。如果改动范围扩大,建议切换到 \`/dm:plan\` 制定方案。
|
|
62
|
+
`;
|
|
63
|
+
export const CMD_PLAN = `---
|
|
64
|
+
description: 制定结构化方案,强制检索 Graveyard 防止重蹈覆辙,等待开发者选择后生成 Spec
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
进入 **PLAN 模式**(方案规划)。
|
|
68
|
+
|
|
69
|
+
## 前置操作
|
|
70
|
+
|
|
71
|
+
\`\`\`sh
|
|
72
|
+
echo "plan" > .devmind/current-mode.txt
|
|
73
|
+
\`\`\`
|
|
74
|
+
|
|
75
|
+
## 执行步骤
|
|
76
|
+
|
|
77
|
+
### 步骤1:强制检索 Graveyard
|
|
78
|
+
|
|
79
|
+
读取 \`.devmind/memory/graveyard/\` 下的所有文件。
|
|
80
|
+
|
|
81
|
+
检查当前提议是否与已否决方案相似(关键词重叠)。
|
|
82
|
+
|
|
83
|
+
如发现匹配,**必须**先输出警告:
|
|
84
|
+
|
|
85
|
+
\`\`\`
|
|
86
|
+
⚠️ 发现相似的已否决方案:[方案名]
|
|
87
|
+
否决原因:[原因摘要]
|
|
88
|
+
关键词重叠:[关键词列表]
|
|
89
|
+
|
|
90
|
+
请选择:
|
|
91
|
+
(1) 查看完整否决原因后决定是否继续
|
|
92
|
+
(2) 情况不同,当前方案与此无关,继续规划
|
|
93
|
+
(3) 确实相似,直接放弃此方向
|
|
94
|
+
\`\`\`
|
|
95
|
+
|
|
96
|
+
等待开发者选择后继续。
|
|
97
|
+
|
|
98
|
+
### 步骤2:输出结构化方案对比
|
|
99
|
+
|
|
100
|
+
每个方案使用以下格式:
|
|
101
|
+
|
|
102
|
+
\`\`\`markdown
|
|
103
|
+
## 方案 X:[方案名]
|
|
104
|
+
|
|
105
|
+
### 确定的部分
|
|
106
|
+
- [条目]
|
|
107
|
+
|
|
108
|
+
### 不确定的部分
|
|
109
|
+
- ⚠️ [不确定点]:[说明]
|
|
110
|
+
|
|
111
|
+
### 风险评估
|
|
112
|
+
- 技术风险:低/中/高
|
|
113
|
+
- 回滚成本:低/中/高
|
|
114
|
+
\`\`\`
|
|
115
|
+
|
|
116
|
+
### 步骤3:等待开发者选择
|
|
117
|
+
|
|
118
|
+
输出所有方案后,等待开发者明确选择,不要自行推进。
|
|
119
|
+
|
|
120
|
+
### 步骤4:生成 Spec 化 current-plan.md
|
|
121
|
+
|
|
122
|
+
开发者选定方案后,写入 \`.devmind/current-plan.md\`:
|
|
123
|
+
|
|
124
|
+
\`\`\`markdown
|
|
125
|
+
# 计划:[任务名称]
|
|
126
|
+
|
|
127
|
+
> 选定日期:YYYY-MM-DD 方案:[方案名]
|
|
128
|
+
|
|
129
|
+
## Spec
|
|
130
|
+
|
|
131
|
+
### 约束(不可违反,违反时自动暂停)
|
|
132
|
+
- [约束条目]
|
|
133
|
+
|
|
134
|
+
### 预期产出(可验证)
|
|
135
|
+
- [ ] [可验证的产出条目]
|
|
136
|
+
|
|
137
|
+
### 允许修改的文件范围
|
|
138
|
+
- [文件或目录]
|
|
139
|
+
|
|
140
|
+
### 明确排除(修改这些文件时必须暂停确认)
|
|
141
|
+
- [文件或目录]
|
|
142
|
+
|
|
143
|
+
## 执行步骤
|
|
144
|
+
|
|
145
|
+
1. [步骤]
|
|
146
|
+
\`\`\`
|
|
147
|
+
|
|
148
|
+
## 注意
|
|
149
|
+
|
|
150
|
+
- 不修改任何业务代码(Hook 强制执行)
|
|
151
|
+
- 方案对比要客观,不要偏向复杂方案
|
|
152
|
+
`;
|
|
153
|
+
export const CMD_BUILD = `---
|
|
154
|
+
description: 按确认计划严格执行,支持断点续传,遇计划外分叉自动暂停
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
进入 **BUILD 模式**(Spec 执行)。
|
|
158
|
+
|
|
159
|
+
## 前置操作
|
|
160
|
+
|
|
161
|
+
\`\`\`sh
|
|
162
|
+
echo "build" > .devmind/current-mode.txt
|
|
163
|
+
\`\`\`
|
|
164
|
+
|
|
165
|
+
## 启动检查
|
|
166
|
+
|
|
167
|
+
### 1. 检查历史检查点
|
|
168
|
+
|
|
169
|
+
读取 \`.devmind/session.yaml\`(如果存在):
|
|
170
|
+
|
|
171
|
+
如果有 \`status: paused\` 的检查点,**立即告知**开发者:
|
|
172
|
+
\`\`\`
|
|
173
|
+
上次任务:[计划名]
|
|
174
|
+
已完成:[已完成检查点列表]
|
|
175
|
+
待续:[暂停检查点] — 原因:[暂停原因]
|
|
176
|
+
|
|
177
|
+
请选择:
|
|
178
|
+
(1) 从断点继续
|
|
179
|
+
(2) 重新开始(清除历史检查点)
|
|
180
|
+
\`\`\`
|
|
181
|
+
|
|
182
|
+
### 2. 加载执行约束
|
|
183
|
+
|
|
184
|
+
读取 \`.devmind/current-plan.md\` 的 Spec 区块。
|
|
185
|
+
|
|
186
|
+
如果 \`current-plan.md\` 不存在或没有 Spec 区块,停止并提示:
|
|
187
|
+
\`\`\`
|
|
188
|
+
缺少执行计划。请先使用 /dm:plan 制定方案。
|
|
189
|
+
\`\`\`
|
|
190
|
+
|
|
191
|
+
## 执行规则
|
|
192
|
+
|
|
193
|
+
1. **严格按照执行步骤推进**,不跳步
|
|
194
|
+
2. 每完成一个步骤,向 \`session.yaml\` 追加检查点
|
|
195
|
+
3. 遇到计划外文件、依赖或约束冲突时**立即暂停**
|
|
196
|
+
|
|
197
|
+
## 完成后
|
|
198
|
+
|
|
199
|
+
输出执行摘要,建议使用 \`/dm:remember\` 沉淀决策。
|
|
200
|
+
`;
|
|
201
|
+
//# sourceMappingURL=templates-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates-commands.js","sourceRoot":"","sources":["../src/templates-commands.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC1B,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BvB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyFvB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CxB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const CMD_REMEMBER = "---\ndescription: \u5C06\u672C\u6B21\u4F1A\u8BDD\u4E2D\u51FA\u73B0\u7684\u51B3\u7B56\u548C\u7ECF\u9A8C\u89C4\u5F8B\u6C89\u6DC0\u4E3A\u8BB0\u5FC6\u6587\u4EF6\n---\n\n\u6267\u884C **REMEMBER**\u2014\u2014\u5C06\u672C\u6B21\u4F1A\u8BDD\u4E2D\u51FA\u73B0\u7684\u51B3\u7B56\u548C\u7ECF\u9A8C\u89C4\u5F8B\u6C89\u6DC0\u4E3A\u8BB0\u5FC6\u6587\u4EF6\u3002\n\n## \u6267\u884C\u6B65\u9AA4\n\n### \u6B65\u9AA41\uFF1A\u8BC6\u522B\u503C\u5F97\u8BB0\u5F55\u7684\u5185\u5BB9\n\n\u56DE\u987E\u672C\u6B21\u4F1A\u8BDD\uFF0C\u4E3B\u52A8\u8BC6\u522B\uFF1A\n\n**\u51B3\u7B56\uFF08Decisions\uFF09**\uFF1A\u9009\u62E9\u4E86\u67D0\u4E2A\u6280\u672F\u65B9\u6848\u5E76\u6709\u660E\u786E\u7406\u7531\uFF1B\u786E\u5B9A\u4E86\u67D0\u4E2A\u7F16\u7801\u89C4\u8303\uFF1B\u505A\u4E86\u67B6\u6784\u7EA7\u53D6\u820D\u3002\n\n**\u89C4\u5F8B\uFF08Patterns\uFF09**\uFF1A\u540C\u7C7B\u95EE\u9898\u51FA\u73B0 2 \u6B21\u4EE5\u4E0A\uFF1B\u67D0\u79CD\u505A\u6CD5\u88AB\u53CD\u590D\u9A8C\u8BC1\u6709\u6548\uFF1B\u503C\u5F97\u63D0\u9192\u672A\u6765 AI \u907F\u514D\u7684\u5751\u3002\n\n\u5982\u679C\u6CA1\u6709\u503C\u5F97\u8BB0\u5F55\u7684\u5185\u5BB9\uFF0C\u544A\u77E5\u5F00\u53D1\u8005\uFF0C\u4E0D\u5F3A\u884C\u751F\u6210\u3002\n\n### \u6B65\u9AA42\uFF1A\u76F4\u63A5\u5199\u5165\u6B63\u5F0F\u76EE\u5F55\n\n\u5199\u5165\u5BF9\u5E94\u76EE\u5F55\uFF1A\n- Decision \u2192 `.devmind/memory/decisions/YYYY-MM-DD_[slug].md`\n- Pattern \u2192 `.devmind/memory/patterns/[slug].md`\n\n\u6587\u4EF6\u5FC5\u987B\u5305\u542B `**\u6458\u8981**` \u5B57\u6BB5\uFF081-2\u53E5\u8BDD\uFF09\u3002\n\n### \u6B65\u9AA43\uFF1A\u91CD\u5EFA\u7D22\u5F15\n\n\u6267\u884C\uFF1A\n```sh\n.devmind/scripts/rebuild-index.sh\n```\n\n### \u6B65\u9AA44\uFF1A\u544A\u77E5\u5F00\u53D1\u8005\n\n```\n\u5DF2\u5199\u5165 N \u6761\u8BB0\u5FC6\uFF1A\n- [\u7C7B\u578B] [\u6587\u4EF6\u540D]\uFF1A[\u6458\u8981]\n\n\u7D22\u5F15\u5DF2\u66F4\u65B0\u3002\u5982\u9700\u64A4\u9500\uFF0C\u5220\u9664\u5BF9\u5E94\u6587\u4EF6\u540E\u91CD\u65B0\u8FD0\u884C rebuild-index.sh\u3002\n```\n\n## \u6CE8\u610F\n\n- \u76F4\u63A5\u5199\u5165\u6B63\u5F0F\u76EE\u5F55\uFF0C\u65E0\u9700\u4EBA\u5DE5\u79FB\u52A8\n- \u6458\u8981\u5B57\u6BB5\u8981\u7B80\u6D01\u51C6\u786E\uFF0C\u8FD9\u662F\u672A\u6765\u68C0\u7D22\u7684\u4E3B\u8981\u4F9D\u636E\n- \u5199\u9519\u4E86\u53EF\u4EE5\u5220\u9664\u6587\u4EF6\u540E\u91CD\u5EFA\u7D22\u5F15\u64A4\u9500\n";
|
|
2
|
+
export declare const CMD_RECALL = "---\ndescription: \u5173\u952E\u8BCD\u68C0\u7D22\u5386\u53F2\u8BB0\u5FC6\uFF08decisions / patterns / graveyard\uFF09\n---\n\n\u6267\u884C **RECALL**\u2014\u2014\u5173\u952E\u8BCD\u68C0\u7D22\u5386\u53F2\u8BB0\u5FC6\u3002\n\n## \u7528\u6CD5\n\n```\n/dm:recall <\u5173\u952E\u8BCD>\n```\n\n## \u6267\u884C\u6B65\u9AA4\n\n### \u6B65\u9AA41\uFF1A\u89E3\u6790\u641C\u7D22\u8BCD\n\n\u4ECE\u547D\u4EE4\u53C2\u6570\u4E2D\u63D0\u53D6\u5173\u952E\u8BCD\u3002\u5982\u679C\u6CA1\u6709\u63D0\u4F9B\u5173\u952E\u8BCD\uFF0C\u63D0\u793A\u7528\u6237\u8F93\u5165\u3002\n\n### \u6B65\u9AA42\uFF1A\u641C\u7D22\u8303\u56F4\n\n\u5728\u4EE5\u4E0B\u4F4D\u7F6E\u641C\u7D22\u5305\u542B\u5173\u952E\u8BCD\u7684\u5185\u5BB9\uFF1A\n- `.devmind/memory/decisions/*.md` \u2014 \u5386\u53F2\u51B3\u7B56\n- `.devmind/memory/patterns/*.md` \u2014 \u7ECF\u9A8C\u89C4\u5F8B\n- `.devmind/memory/graveyard/*.md` \u2014 \u88AB\u5426\u51B3\u7684\u65B9\u6848\n\n\u4F18\u5148\u5339\u914D\u987A\u5E8F\uFF1A\u6587\u4EF6\u540D \u2192 `**\u6458\u8981**` \u5B57\u6BB5 \u2192 `\u6807\u7B7E\uFF1A` \u884C \u2192 \u6587\u4EF6\u6B63\u6587\u3002\n\n### \u6B65\u9AA43\uFF1A\u8F93\u51FA\u7ED3\u679C\n\n```\n\u627E\u5230 N \u6761\u76F8\u5173\u8BB0\u5FC6\uFF1A\n\n[\u7C7B\u578B] \u6587\u4EF6\u540D\n\u6458\u8981\uFF1A[\u6458\u8981\u5185\u5BB9]\n\u6807\u7B7E\uFF1A[\u6807\u7B7E]\n---\n```\n\n\u5982\u679C\u627E\u5230 Graveyard \u76F8\u5173\u7ED3\u679C\uFF0C\u63D0\u793A\uFF1A\n```\n\u26A0\uFE0F \u53D1\u73B0\u76F8\u5173\u7684\u5DF2\u5426\u51B3\u65B9\u6848\uFF0C\u5EFA\u8BAE\u5728 /dm:plan \u524D\u4ED4\u7EC6\u9605\u8BFB\u3002\n```\n";
|
|
3
|
+
export declare const CMD_BURY = "---\ndescription: \u5C06\u5F53\u524D\u88AB\u5426\u51B3\u7684\u65B9\u6848\u7ED3\u6784\u5316\u5199\u5165 Graveyard\uFF0C\u9632\u6B62\u672A\u6765\u91CD\u8E48\u8986\u8F99\n---\n\n\u6267\u884C **BURY**\u2014\u2014\u5C06\u88AB\u5426\u51B3\u7684\u65B9\u6848\u5199\u5165 Graveyard\u3002\n\n## \u89E6\u53D1\u573A\u666F\n\n- \u521A\u521A\u5426\u51B3\u4E86\u4E00\u4E2A\u65B9\u6848\n- \u5F00\u53D1\u8005\u660E\u786E\u8BF4\"\u4E0D\u8981\u7528 X \u65B9\u6848\"\n- \u67D0\u4E2A\u6280\u672F\u8DEF\u7EBF\u5B9E\u9A8C\u540E\u88AB\u653E\u5F03\n\n## \u6267\u884C\u6B65\u9AA4\n\n### \u6B65\u9AA41\uFF1A\u6536\u96C6\u4FE1\u606F\n\n\u4ECE\u4E0A\u4E0B\u6587\u81EA\u52A8\u8BC6\u522B\u6216\u8BE2\u95EE\uFF1A\n1. **\u65B9\u6848\u540D\u79F0**\n2. **\u539F\u59CB\u60F3\u6CD5**\n3. **\u5426\u51B3\u539F\u56E0**\uFF081-3 \u4E2A\u5177\u4F53\u539F\u56E0\uFF09\n4. **\u66FF\u4EE3\u65B9\u6848**\uFF08\u6700\u7EC8\u91C7\u7528\u7684\u662F\u4EC0\u4E48\uFF09\n5. **\u5173\u952E\u8BCD**\uFF083-5 \u4E2A\uFF0C\u7528\u4E8E\u672A\u6765\u81EA\u52A8\u68C0\u6D4B\uFF09\n\n### \u6B65\u9AA42\uFF1A\u751F\u6210 Graveyard \u6587\u4EF6\n\n\u5199\u5165 `.devmind/memory/graveyard/[slug].md`\uFF1A\n\n```markdown\n## \u653E\u5F03\u65B9\u6848\uFF1A[\u65B9\u6848\u540D]\n\n- \u65E5\u671F\uFF1AYYYY-MM-DD\n- \u63D0\u8BAE\u8005\uFF1A[\u6765\u6E90]\n- \u5173\u952E\u8BCD\uFF1A[\u5173\u952E\u8BCD1], [\u5173\u952E\u8BCD2], [\u5173\u952E\u8BCD3]\n- \u539F\u59CB\u60F3\u6CD5\uFF1A[\u5F53\u65F6\u7684\u63D0\u8BAE]\n- \u653E\u5F03\u539F\u56E0\uFF1A\n 1. [\u539F\u56E01]\n 2. [\u539F\u56E02]\n- \u66FF\u4EE3\u65B9\u6848\uFF1A[\u6700\u7EC8\u91C7\u7528\u7684\u65B9\u6848]\n- \u76F8\u4F3C\u65B9\u6848\u7279\u5F81\uFF1A[\u5982\u4F55\u8BC6\u522B\u91CD\u8E48\u8986\u8F99\u7684\u63D0\u8BAE]\n\n---\n\nAI \u4F7F\u7528\u63D0\u793A\uFF1A\u5982\u679C\u518D\u63D0\u8BAE\u7C7B\u4F3C\u65B9\u6848\uFF0C\u5148\u8BFB\u6B64\u6587\u4EF6\u3002\n```\n\n### \u6B65\u9AA43\uFF1A\u63D0\u9192\u91CD\u5EFA\u7D22\u5F15\n\n```\n\u5DF2\u5199\u5165 Graveyard\uFF1A.devmind/memory/graveyard/[slug].md\n\n\u8FD0\u884C\u4EE5\u4E0B\u547D\u4EE4\u66F4\u65B0\u7D22\u5F15\uFF1A\n .devmind/scripts/rebuild-index.sh\n```\n";
|
|
4
|
+
export declare const CMD_AUDIT = "---\ndescription: \u67E5\u770B\u6587\u4EF6\u4FEE\u6539\u5BA1\u8BA1\u65E5\u5FD7\uFF0C\u652F\u6301\u6309\u8BA1\u5212\u540D\u6216\u6570\u91CF\u8FC7\u6EE4\n---\n\n\u6267\u884C **AUDIT**\u2014\u2014\u67E5\u770B\u6587\u4EF6\u4FEE\u6539\u5BA1\u8BA1\u65E5\u5FD7\u3002\n\n## \u7528\u6CD5\n\n```\n/dm:audit \u2014 \u663E\u793A\u6700\u8FD1 20 \u6761\u8BB0\u5F55\n/dm:audit 50 \u2014 \u663E\u793A\u6700\u8FD1 50 \u6761\u8BB0\u5F55\n/dm:audit plan:xxx \u2014 \u663E\u793A\u7279\u5B9A\u8BA1\u5212\u7684\u6240\u6709\u8BB0\u5F55\n/dm:audit build \u2014 \u663E\u793A\u6240\u6709 build \u6A21\u5F0F\u7684\u8BB0\u5F55\n```\n\n## \u6267\u884C\u6B65\u9AA4\n\n\u8BFB\u53D6 `.devmind/audit.log`\uFF0C\u6309\u53C2\u6570\u8FC7\u6EE4\uFF0C\u683C\u5F0F\u5316\u8F93\u51FA\uFF1A\n\n```\n\u65F6\u95F4 \u6A21\u5F0F \u6587\u4EF6 \u8BA1\u5212\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n2026-02-23 14:32:12 build src/services/resourceService.ts migrate-to-d1\n```\n\n\u8F93\u51FA\u672B\u5C3E\u9644\u7EDF\u8BA1\u6458\u8981\uFF1A`\u5171 N \u6761\u8BB0\u5F55\uFF0C\u6D89\u53CA M \u4E2A\u6587\u4EF6`\n\n\u5982\u679C `audit.log` \u4E3A\u7A7A\uFF0C\u8F93\u51FA\uFF1A`\u6682\u65E0\u5BA1\u8BA1\u8BB0\u5F55\u3002audit.log \u7531 PostToolUse Hook \u81EA\u52A8\u5199\u5165\u3002`\n";
|
|
5
|
+
export declare const CMD_SYNC_MEMORY = "---\ndescription: \u540C\u6B65\u56E2\u961F\u8BB0\u5FC6\uFF08git pull + \u91CD\u5EFA\u7D22\u5F15 + \u51B2\u7A81\u68C0\u6D4B\uFF09\n---\n\n\u6267\u884C **SYNC-MEMORY**\u2014\u2014\u540C\u6B65\u56E2\u961F\u8BB0\u5FC6\u3002\n\n## \u6267\u884C\u6B65\u9AA4\n\n### \u6B65\u9AA41\uFF1A\u62C9\u53D6\u6700\u65B0\u53D8\u66F4\n\n```sh\ngit pull origin main\n```\n\n\u5982\u679C\u5931\u8D25\uFF08\u51B2\u7A81\u6216\u7F51\u7EDC\u95EE\u9898\uFF09\uFF0C\u505C\u6B62\u5E76\u63D0\u793A\u5F00\u53D1\u8005\u624B\u52A8\u5904\u7406\u3002\n\n### \u6B65\u9AA42\uFF1A\u68C0\u67E5 memory/ \u51B2\u7A81\n\n```sh\ngit status | grep \"memory/\"\n```\n\n\u5982\u679C\u6709\u51B2\u7A81\u6587\u4EF6\uFF0C\u8F93\u51FA\uFF1A\n```\n\u26A0\uFE0F \u53D1\u73B0 memory/ \u76EE\u5F55\u4E0B\u6709\u5408\u5E76\u51B2\u7A81\uFF1A\n- [\u51B2\u7A81\u6587\u4EF6\u5217\u8868]\n\n\u8BF7\u624B\u52A8\u89E3\u51B3\u51B2\u7A81\u540E\uFF0C\u91CD\u65B0\u8FD0\u884C /dm:sync-memory\n```\n\n### \u6B65\u9AA43\uFF1A\u91CD\u5EFA\u7D22\u5F15\n\n```sh\n.devmind/scripts/rebuild-index.sh\n```\n\n### \u6B65\u9AA44\uFF1A\u8F93\u51FA\u540C\u6B65\u6458\u8981\n\n```\n\u540C\u6B65\u5B8C\u6210\uFF1A\n- \u62C9\u53D6\u4E86 N \u4E2A\u65B0\u63D0\u4EA4\n- memory/ \u65B0\u589E/\u4FEE\u6539\u4E86 M \u4E2A\u6587\u4EF6\n- \u7D22\u5F15\u5DF2\u66F4\u65B0\uFF1AX \u6761 Decisions\uFF0CY \u6761 Patterns\uFF0CZ \u6761 Graveyard\n```\n\n## \u6CE8\u610F\n\n\u4E2A\u4EBA\u4F7F\u7528\u65F6\uFF0C\u76F4\u63A5\u8FD0\u884C `.devmind/scripts/rebuild-index.sh` \u5373\u53EF\uFF0C\u65E0\u9700 git pull\u3002\n";
|
|
6
|
+
export declare const CMD_PUBLISH = "---\ndescription: \u5C06\u5F53\u524D\u529F\u80FD\u6574\u7406\u4E3A\u6587\u6863\u5199\u5165 docs/designs/draft/\n---\n\n\u8FDB\u5165 **PUBLISH \u6A21\u5F0F**\uFF08\u751F\u6210\u529F\u80FD\u6587\u6863\uFF09\u3002\n\n## \u6267\u884C\u6B65\u9AA4\n\n### \u6B65\u9AA41\uFF1A\u6536\u96C6\u4FE1\u606F\n\n\u8BFB\u53D6\u4EE5\u4E0B\u5185\u5BB9\uFF1A\n- `.devmind/current-plan.md`\uFF08\u5F53\u524D\u6216\u521A\u5B8C\u6210\u7684\u8BA1\u5212\uFF09\n- `.devmind/memory/decisions/`\uFF08\u672C\u6B21\u4EFB\u52A1\u76F8\u5173\u7684\u51B3\u7B56\uFF0C\u6309\u65E5\u671F\u5224\u65AD\uFF09\n\n### \u6B65\u9AA42\uFF1A\u786E\u5B9A\u6587\u6863 slug\n\n\u6839\u636E\u8BA1\u5212\u6807\u9898\u751F\u6210 slug\uFF08kebab-case\uFF0C\u82F1\u6587\uFF09\uFF0C\u5411\u5F00\u53D1\u8005\u786E\u8BA4\uFF1A\n\n```\n\u5373\u5C06\u751F\u6210\u6587\u6863\uFF1Adocs/designs/draft/<slug>.md\n\u6587\u6863\u6807\u9898\uFF1A[\u6807\u9898]\n\n\u786E\u8BA4\uFF1F(1) \u786E\u8BA4 (2) \u4FEE\u6539 slug\n```\n\n### \u6B65\u9AA43\uFF1A\u751F\u6210\u6587\u6863\n\n\u5199\u5165 `docs/designs/draft/<slug>.md`\uFF0C\u683C\u5F0F\u5982\u4E0B\uFF1A\n\n```markdown\n# <\u529F\u80FD\u6807\u9898>\n\n> \u751F\u6210\u65E5\u671F\uFF1AYYYY-MM-DD\n\n## \u80CC\u666F\n\n<\u4E3A\u4EC0\u4E48\u8981\u505A\u8FD9\u4E2A\u529F\u80FD\uFF0C\u89E3\u51B3\u4EC0\u4E48\u95EE\u9898>\n\n## \u65B9\u6848\u8BBE\u8BA1\n\n<\u5177\u4F53\u5B9E\u73B0\u65B9\u6848\uFF0C\u67B6\u6784\u8BF4\u660E\uFF0C\u5173\u952E\u8BBE\u8BA1\u51B3\u7B56>\n\n## \u529F\u80FD\u8303\u56F4\n\n<\u672C\u6B21\u5B9E\u73B0\u4E86\u4EC0\u4E48\uFF0C\u660E\u786E\u6392\u9664\u4E86\u4EC0\u4E48>\n\n## \u5173\u952E\u51B3\u7B56\n\n<\u5217\u51FA\u672C\u6B21\u6D89\u53CA\u7684\u91CD\u8981\u51B3\u7B56\u53CA\u7406\u7531>\n\n## \u5DF2\u77E5\u9650\u5236 / \u540E\u7EED\u8BA1\u5212\n\n<\u5F53\u524D\u65B9\u6848\u7684\u9650\u5236\uFF0C\u4EE5\u53CA\u8BA1\u5212\u5728\u672A\u6765\u7248\u672C\u4E2D\u6539\u8FDB\u7684\u70B9>\n```\n\n### \u6B65\u9AA44\uFF1A\u63D0\u793A\u52A0\u5165 milestone\uFF08\u53EF\u9009\uFF09\n\n\u8F93\u51FA\uFF1A\n\n```\n\u6587\u6863\u5DF2\u751F\u6210\uFF1Adocs/designs/draft/<slug>.md\n\n\u662F\u5426\u52A0\u5165\u67D0\u4E2A milestone\uFF1F\n(1) \u6682\u4E0D\u5F52\u5165\uFF08\u4FDD\u7559\u5728 draft/\uFF09\n(2) \u8F93\u5165\u7248\u672C\u53F7\uFF08\u5982 v0.1\uFF09\uFF0C\u5728 /dm:release \u65F6\u4F1A\u81EA\u52A8\u6536\u5F55\n```\n\n\u5982\u679C\u7528\u6237\u8F93\u5165\u7248\u672C\u53F7\uFF0C\u5728\u6587\u6863\u5934\u90E8\u8FFD\u52A0 frontmatter\uFF1A\n\n```markdown\n---\nmilestone: vxx\n---\n```\n\n## \u6CE8\u610F\n\n- \u6587\u6863\u9762\u5411\u4EBA\u7C7B\u5F00\u53D1\u8005\uFF0C\u8BED\u8A00\u6E05\u6670\u53EF\u8BFB\uFF0C\u907F\u514D AI \u5143\u6570\u636E\u8BED\u8A00\n- \u4E0D\u4FEE\u6539 `.devmind/memory/` \u4E0B\u7684\u4EFB\u4F55\u6587\u4EF6\uFF08\u90A3\u662F /dm:remember \u7684\u804C\u8D23\uFF09\n- \u5982\u9700\u540C\u65F6\u6C89\u6DC0 AI \u8BB0\u5FC6\uFF0C\u6267\u884C\u5B8C\u540E\u63D0\u793A\u4F7F\u7528 `/dm:remember`\n";
|
|
7
|
+
export declare const CMD_RELEASE = "---\ndescription: \u6C47\u603B docs/designs/draft/ \u751F\u6210\u7248\u672C\u6587\u6863\uFF0C\u5F52\u6863\u529F\u80FD\u6587\u6863\n---\n\n\u8FDB\u5165 **RELEASE \u6A21\u5F0F**\uFF08\u751F\u6210\u7248\u672C\u6587\u6863\uFF09\u3002\n\n## \u6267\u884C\u6B65\u9AA4\n\n### \u6B65\u9AA41\uFF1A\u8BFB\u53D6 draft/ \u5185\u5BB9\n\n\u8BFB\u53D6 `docs/designs/draft/` \u4E0B\u6240\u6709 `.md` \u6587\u4EF6\uFF08\u5FFD\u7565 `.gitkeep`\uFF09\u3002\n\n\u5982\u679C draft/ \u4E3A\u7A7A\uFF0C\u505C\u6B62\u5E76\u63D0\u793A\uFF1A\n\n```\ndocs/designs/draft/ \u76EE\u5F55\u4E3A\u7A7A\uFF0C\u6CA1\u6709\u53EF\u53D1\u5E03\u7684\u529F\u80FD\u6587\u6863\u3002\n\u8BF7\u5148\u4F7F\u7528 /dm:publish \u751F\u6210\u529F\u80FD\u6587\u6863\u3002\n```\n\n### \u6B65\u9AA42\uFF1A\u786E\u8BA4\u7248\u672C\u53F7\n\n\u5411\u5F00\u53D1\u8005\u786E\u8BA4\u7248\u672C\u53F7\uFF1A\n\n```\ndraft/ \u4E0B\u5171\u6709 N \u4E2A\u529F\u80FD\u6587\u6863\uFF1A\n- <slug1>.md \u2014 <\u6807\u9898>\n- <slug2>.md \u2014 <\u6807\u9898>\n...\n\n\u8BF7\u8F93\u5165\u7248\u672C\u53F7\uFF08\u5982 v1.0\u3001v0.2-beta\uFF09\uFF1A\n```\n\n### \u6B65\u9AA43\uFF1A\u751F\u6210\u7248\u672C\u6587\u6863\n\n\u5199\u5165 `docs/releases/<version>.md`\uFF0C\u683C\u5F0F\u5982\u4E0B\uFF1A\n\n```markdown\n# Release <version>\n\n> \u53D1\u5E03\u65E5\u671F\uFF1AYYYY-MM-DD\n\n## \u672C\u7248\u672C\u5305\u542B\n\n<\u9010\u6761\u5217\u51FA\u5404\u529F\u80FD\u7684\u7B80\u8981\u8BF4\u660E\uFF0C\u9644\u94FE\u63A5\u5230\u5BF9\u5E94\u8BBE\u8BA1\u6587\u6863>\n\n- **[\u529F\u80FD\u6807\u9898](../designs/<version>/<slug>.md)**\uFF1A<\u4E00\u53E5\u8BDD\u8BF4\u660E>\n\n## \u67B6\u6784\u53D8\u5316\n\n<\u5982\u6709\u91CD\u5927\u67B6\u6784\u8C03\u6574\uFF0C\u5728\u6B64\u8BF4\u660E\uFF1B\u65E0\u5219\u7701\u7565>\n\n## \u5DF2\u77E5\u95EE\u9898 / \u540E\u7EED\u8BA1\u5212\n\n<\u5F53\u524D\u7248\u672C\u7684\u9650\u5236\uFF0C\u4E0B\u4E00\u7248\u672C\u7684\u65B9\u5411>\n```\n\n### \u6B65\u9AA44\uFF1A\u5F52\u6863 draft/\n\n\u6267\u884C\u4EE5\u4E0B\u64CD\u4F5C\uFF1A\n1. \u5C06 `docs/designs/draft/` \u91CD\u547D\u540D\u4E3A `docs/designs/<version>/`\n2. \u65B0\u5EFA\u7A7A\u7684 `docs/designs/draft/` \u76EE\u5F55\uFF0C\u5199\u5165 `.gitkeep`\n\n\u5411\u5F00\u53D1\u8005\u786E\u8BA4\u540E\u6267\u884C\uFF1A\n\n```\n\u5373\u5C06\u6267\u884C\uFF1A\n docs/designs/draft/ \u2192 docs/designs/<version>/\n \u65B0\u5EFA\u7A7A docs/designs/draft/\n\n\u786E\u8BA4\uFF1F(1) \u786E\u8BA4 (2) \u53D6\u6D88\n```\n\n### \u6B65\u9AA45\uFF1A\u5B8C\u6210\u63D0\u793A\n\n```\n\u2713 \u7248\u672C\u6587\u6863\u5DF2\u751F\u6210\uFF1Adocs/releases/<version>.md\n\u2713 \u529F\u80FD\u6587\u6863\u5DF2\u5F52\u6863\uFF1Adocs/designs/<version>/\n\u2713 draft/ \u5DF2\u91CD\u7F6E\uFF0C\u53EF\u5F00\u59CB\u8BB0\u5F55\u4E0B\u4E00\u7248\u672C\u529F\u80FD\n\n\u5EFA\u8BAE\uFF1A\u4F7F\u7528 /dm:remember \u5C06\u672C\u7248\u672C\u7684\u5173\u952E\u51B3\u7B56\u6C89\u6DC0\u4E3A AI \u8BB0\u5FC6\n```\n\n## \u6CE8\u610F\n\n- \u91CD\u547D\u540D\u64CD\u4F5C\u4E0D\u53EF\u64A4\u9500\uFF0C\u6267\u884C\u524D\u5FC5\u987B\u5411\u7528\u6237\u786E\u8BA4\n- \u4E0D\u4FEE\u6539 `.devmind/memory/` \u4E0B\u7684\u4EFB\u4F55\u6587\u4EF6\n- \u7248\u672C\u53F7\u683C\u5F0F\u7531\u7528\u6237\u51B3\u5B9A\uFF0C\u4E0D\u5F3A\u5236\u89C4\u8303\n";
|
|
8
|
+
//# sourceMappingURL=templates-commands2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates-commands2.d.ts","sourceRoot":"","sources":["../src/templates-commands2.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,myEA+CxB,CAAC;AAEF,eAAO,MAAM,UAAU,2iDA0CtB,CAAC;AAEF,eAAO,MAAM,QAAQ,6kEAqDpB,CAAC;AAEF,eAAO,MAAM,SAAS,mqDA4BrB,CAAC;AAEF,eAAO,MAAM,eAAe,u/CAgD3B,CAAC;AAEF,eAAO,MAAM,WAAW,y3FAgFvB,CAAC;AAEF,eAAO,MAAM,WAAW,6pGAuFvB,CAAC"}
|
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
// templates-commands2.ts — Slash command templates (part 2: remember/recall/bury/audit/sync-memory/publish/release)
|
|
2
|
+
export const CMD_REMEMBER = `---
|
|
3
|
+
description: 将本次会话中出现的决策和经验规律沉淀为记忆文件
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
执行 **REMEMBER**——将本次会话中出现的决策和经验规律沉淀为记忆文件。
|
|
7
|
+
|
|
8
|
+
## 执行步骤
|
|
9
|
+
|
|
10
|
+
### 步骤1:识别值得记录的内容
|
|
11
|
+
|
|
12
|
+
回顾本次会话,主动识别:
|
|
13
|
+
|
|
14
|
+
**决策(Decisions)**:选择了某个技术方案并有明确理由;确定了某个编码规范;做了架构级取舍。
|
|
15
|
+
|
|
16
|
+
**规律(Patterns)**:同类问题出现 2 次以上;某种做法被反复验证有效;值得提醒未来 AI 避免的坑。
|
|
17
|
+
|
|
18
|
+
如果没有值得记录的内容,告知开发者,不强行生成。
|
|
19
|
+
|
|
20
|
+
### 步骤2:直接写入正式目录
|
|
21
|
+
|
|
22
|
+
写入对应目录:
|
|
23
|
+
- Decision → \`.devmind/memory/decisions/YYYY-MM-DD_[slug].md\`
|
|
24
|
+
- Pattern → \`.devmind/memory/patterns/[slug].md\`
|
|
25
|
+
|
|
26
|
+
文件必须包含 \`**摘要**\` 字段(1-2句话)。
|
|
27
|
+
|
|
28
|
+
### 步骤3:重建索引
|
|
29
|
+
|
|
30
|
+
执行:
|
|
31
|
+
\`\`\`sh
|
|
32
|
+
.devmind/scripts/rebuild-index.sh
|
|
33
|
+
\`\`\`
|
|
34
|
+
|
|
35
|
+
### 步骤4:告知开发者
|
|
36
|
+
|
|
37
|
+
\`\`\`
|
|
38
|
+
已写入 N 条记忆:
|
|
39
|
+
- [类型] [文件名]:[摘要]
|
|
40
|
+
|
|
41
|
+
索引已更新。如需撤销,删除对应文件后重新运行 rebuild-index.sh。
|
|
42
|
+
\`\`\`
|
|
43
|
+
|
|
44
|
+
## 注意
|
|
45
|
+
|
|
46
|
+
- 直接写入正式目录,无需人工移动
|
|
47
|
+
- 摘要字段要简洁准确,这是未来检索的主要依据
|
|
48
|
+
- 写错了可以删除文件后重建索引撤销
|
|
49
|
+
`;
|
|
50
|
+
export const CMD_RECALL = `---
|
|
51
|
+
description: 关键词检索历史记忆(decisions / patterns / graveyard)
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
执行 **RECALL**——关键词检索历史记忆。
|
|
55
|
+
|
|
56
|
+
## 用法
|
|
57
|
+
|
|
58
|
+
\`\`\`
|
|
59
|
+
/dm:recall <关键词>
|
|
60
|
+
\`\`\`
|
|
61
|
+
|
|
62
|
+
## 执行步骤
|
|
63
|
+
|
|
64
|
+
### 步骤1:解析搜索词
|
|
65
|
+
|
|
66
|
+
从命令参数中提取关键词。如果没有提供关键词,提示用户输入。
|
|
67
|
+
|
|
68
|
+
### 步骤2:搜索范围
|
|
69
|
+
|
|
70
|
+
在以下位置搜索包含关键词的内容:
|
|
71
|
+
- \`.devmind/memory/decisions/*.md\` — 历史决策
|
|
72
|
+
- \`.devmind/memory/patterns/*.md\` — 经验规律
|
|
73
|
+
- \`.devmind/memory/graveyard/*.md\` — 被否决的方案
|
|
74
|
+
|
|
75
|
+
优先匹配顺序:文件名 → \`**摘要**\` 字段 → \`标签:\` 行 → 文件正文。
|
|
76
|
+
|
|
77
|
+
### 步骤3:输出结果
|
|
78
|
+
|
|
79
|
+
\`\`\`
|
|
80
|
+
找到 N 条相关记忆:
|
|
81
|
+
|
|
82
|
+
[类型] 文件名
|
|
83
|
+
摘要:[摘要内容]
|
|
84
|
+
标签:[标签]
|
|
85
|
+
---
|
|
86
|
+
\`\`\`
|
|
87
|
+
|
|
88
|
+
如果找到 Graveyard 相关结果,提示:
|
|
89
|
+
\`\`\`
|
|
90
|
+
⚠️ 发现相关的已否决方案,建议在 /dm:plan 前仔细阅读。
|
|
91
|
+
\`\`\`
|
|
92
|
+
`;
|
|
93
|
+
export const CMD_BURY = `---
|
|
94
|
+
description: 将当前被否决的方案结构化写入 Graveyard,防止未来重蹈覆辙
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
执行 **BURY**——将被否决的方案写入 Graveyard。
|
|
98
|
+
|
|
99
|
+
## 触发场景
|
|
100
|
+
|
|
101
|
+
- 刚刚否决了一个方案
|
|
102
|
+
- 开发者明确说"不要用 X 方案"
|
|
103
|
+
- 某个技术路线实验后被放弃
|
|
104
|
+
|
|
105
|
+
## 执行步骤
|
|
106
|
+
|
|
107
|
+
### 步骤1:收集信息
|
|
108
|
+
|
|
109
|
+
从上下文自动识别或询问:
|
|
110
|
+
1. **方案名称**
|
|
111
|
+
2. **原始想法**
|
|
112
|
+
3. **否决原因**(1-3 个具体原因)
|
|
113
|
+
4. **替代方案**(最终采用的是什么)
|
|
114
|
+
5. **关键词**(3-5 个,用于未来自动检测)
|
|
115
|
+
|
|
116
|
+
### 步骤2:生成 Graveyard 文件
|
|
117
|
+
|
|
118
|
+
写入 \`.devmind/memory/graveyard/[slug].md\`:
|
|
119
|
+
|
|
120
|
+
\`\`\`markdown
|
|
121
|
+
## 放弃方案:[方案名]
|
|
122
|
+
|
|
123
|
+
- 日期:YYYY-MM-DD
|
|
124
|
+
- 提议者:[来源]
|
|
125
|
+
- 关键词:[关键词1], [关键词2], [关键词3]
|
|
126
|
+
- 原始想法:[当时的提议]
|
|
127
|
+
- 放弃原因:
|
|
128
|
+
1. [原因1]
|
|
129
|
+
2. [原因2]
|
|
130
|
+
- 替代方案:[最终采用的方案]
|
|
131
|
+
- 相似方案特征:[如何识别重蹈覆辙的提议]
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
AI 使用提示:如果再提议类似方案,先读此文件。
|
|
136
|
+
\`\`\`
|
|
137
|
+
|
|
138
|
+
### 步骤3:提醒重建索引
|
|
139
|
+
|
|
140
|
+
\`\`\`
|
|
141
|
+
已写入 Graveyard:.devmind/memory/graveyard/[slug].md
|
|
142
|
+
|
|
143
|
+
运行以下命令更新索引:
|
|
144
|
+
.devmind/scripts/rebuild-index.sh
|
|
145
|
+
\`\`\`
|
|
146
|
+
`;
|
|
147
|
+
export const CMD_AUDIT = `---
|
|
148
|
+
description: 查看文件修改审计日志,支持按计划名或数量过滤
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
执行 **AUDIT**——查看文件修改审计日志。
|
|
152
|
+
|
|
153
|
+
## 用法
|
|
154
|
+
|
|
155
|
+
\`\`\`
|
|
156
|
+
/dm:audit — 显示最近 20 条记录
|
|
157
|
+
/dm:audit 50 — 显示最近 50 条记录
|
|
158
|
+
/dm:audit plan:xxx — 显示特定计划的所有记录
|
|
159
|
+
/dm:audit build — 显示所有 build 模式的记录
|
|
160
|
+
\`\`\`
|
|
161
|
+
|
|
162
|
+
## 执行步骤
|
|
163
|
+
|
|
164
|
+
读取 \`.devmind/audit.log\`,按参数过滤,格式化输出:
|
|
165
|
+
|
|
166
|
+
\`\`\`
|
|
167
|
+
时间 模式 文件 计划
|
|
168
|
+
──────────────────────────────────────────────────────────────────────
|
|
169
|
+
2026-02-23 14:32:12 build src/services/resourceService.ts migrate-to-d1
|
|
170
|
+
\`\`\`
|
|
171
|
+
|
|
172
|
+
输出末尾附统计摘要:\`共 N 条记录,涉及 M 个文件\`
|
|
173
|
+
|
|
174
|
+
如果 \`audit.log\` 为空,输出:\`暂无审计记录。audit.log 由 PostToolUse Hook 自动写入。\`
|
|
175
|
+
`;
|
|
176
|
+
export const CMD_SYNC_MEMORY = `---
|
|
177
|
+
description: 同步团队记忆(git pull + 重建索引 + 冲突检测)
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
执行 **SYNC-MEMORY**——同步团队记忆。
|
|
181
|
+
|
|
182
|
+
## 执行步骤
|
|
183
|
+
|
|
184
|
+
### 步骤1:拉取最新变更
|
|
185
|
+
|
|
186
|
+
\`\`\`sh
|
|
187
|
+
git pull origin main
|
|
188
|
+
\`\`\`
|
|
189
|
+
|
|
190
|
+
如果失败(冲突或网络问题),停止并提示开发者手动处理。
|
|
191
|
+
|
|
192
|
+
### 步骤2:检查 memory/ 冲突
|
|
193
|
+
|
|
194
|
+
\`\`\`sh
|
|
195
|
+
git status | grep "memory/"
|
|
196
|
+
\`\`\`
|
|
197
|
+
|
|
198
|
+
如果有冲突文件,输出:
|
|
199
|
+
\`\`\`
|
|
200
|
+
⚠️ 发现 memory/ 目录下有合并冲突:
|
|
201
|
+
- [冲突文件列表]
|
|
202
|
+
|
|
203
|
+
请手动解决冲突后,重新运行 /dm:sync-memory
|
|
204
|
+
\`\`\`
|
|
205
|
+
|
|
206
|
+
### 步骤3:重建索引
|
|
207
|
+
|
|
208
|
+
\`\`\`sh
|
|
209
|
+
.devmind/scripts/rebuild-index.sh
|
|
210
|
+
\`\`\`
|
|
211
|
+
|
|
212
|
+
### 步骤4:输出同步摘要
|
|
213
|
+
|
|
214
|
+
\`\`\`
|
|
215
|
+
同步完成:
|
|
216
|
+
- 拉取了 N 个新提交
|
|
217
|
+
- memory/ 新增/修改了 M 个文件
|
|
218
|
+
- 索引已更新:X 条 Decisions,Y 条 Patterns,Z 条 Graveyard
|
|
219
|
+
\`\`\`
|
|
220
|
+
|
|
221
|
+
## 注意
|
|
222
|
+
|
|
223
|
+
个人使用时,直接运行 \`.devmind/scripts/rebuild-index.sh\` 即可,无需 git pull。
|
|
224
|
+
`;
|
|
225
|
+
export const CMD_PUBLISH = `---
|
|
226
|
+
description: 将当前功能整理为文档写入 docs/designs/draft/
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
进入 **PUBLISH 模式**(生成功能文档)。
|
|
230
|
+
|
|
231
|
+
## 执行步骤
|
|
232
|
+
|
|
233
|
+
### 步骤1:收集信息
|
|
234
|
+
|
|
235
|
+
读取以下内容:
|
|
236
|
+
- \`.devmind/current-plan.md\`(当前或刚完成的计划)
|
|
237
|
+
- \`.devmind/memory/decisions/\`(本次任务相关的决策,按日期判断)
|
|
238
|
+
|
|
239
|
+
### 步骤2:确定文档 slug
|
|
240
|
+
|
|
241
|
+
根据计划标题生成 slug(kebab-case,英文),向开发者确认:
|
|
242
|
+
|
|
243
|
+
\`\`\`
|
|
244
|
+
即将生成文档:docs/designs/draft/<slug>.md
|
|
245
|
+
文档标题:[标题]
|
|
246
|
+
|
|
247
|
+
确认?(1) 确认 (2) 修改 slug
|
|
248
|
+
\`\`\`
|
|
249
|
+
|
|
250
|
+
### 步骤3:生成文档
|
|
251
|
+
|
|
252
|
+
写入 \`docs/designs/draft/<slug>.md\`,格式如下:
|
|
253
|
+
|
|
254
|
+
\`\`\`markdown
|
|
255
|
+
# <功能标题>
|
|
256
|
+
|
|
257
|
+
> 生成日期:YYYY-MM-DD
|
|
258
|
+
|
|
259
|
+
## 背景
|
|
260
|
+
|
|
261
|
+
<为什么要做这个功能,解决什么问题>
|
|
262
|
+
|
|
263
|
+
## 方案设计
|
|
264
|
+
|
|
265
|
+
<具体实现方案,架构说明,关键设计决策>
|
|
266
|
+
|
|
267
|
+
## 功能范围
|
|
268
|
+
|
|
269
|
+
<本次实现了什么,明确排除了什么>
|
|
270
|
+
|
|
271
|
+
## 关键决策
|
|
272
|
+
|
|
273
|
+
<列出本次涉及的重要决策及理由>
|
|
274
|
+
|
|
275
|
+
## 已知限制 / 后续计划
|
|
276
|
+
|
|
277
|
+
<当前方案的限制,以及计划在未来版本中改进的点>
|
|
278
|
+
\`\`\`
|
|
279
|
+
|
|
280
|
+
### 步骤4:提示加入 milestone(可选)
|
|
281
|
+
|
|
282
|
+
输出:
|
|
283
|
+
|
|
284
|
+
\`\`\`
|
|
285
|
+
文档已生成:docs/designs/draft/<slug>.md
|
|
286
|
+
|
|
287
|
+
是否加入某个 milestone?
|
|
288
|
+
(1) 暂不归入(保留在 draft/)
|
|
289
|
+
(2) 输入版本号(如 v0.1),在 /dm:release 时会自动收录
|
|
290
|
+
\`\`\`
|
|
291
|
+
|
|
292
|
+
如果用户输入版本号,在文档头部追加 frontmatter:
|
|
293
|
+
|
|
294
|
+
\`\`\`markdown
|
|
295
|
+
---
|
|
296
|
+
milestone: vxx
|
|
297
|
+
---
|
|
298
|
+
\`\`\`
|
|
299
|
+
|
|
300
|
+
## 注意
|
|
301
|
+
|
|
302
|
+
- 文档面向人类开发者,语言清晰可读,避免 AI 元数据语言
|
|
303
|
+
- 不修改 \`.devmind/memory/\` 下的任何文件(那是 /dm:remember 的职责)
|
|
304
|
+
- 如需同时沉淀 AI 记忆,执行完后提示使用 \`/dm:remember\`
|
|
305
|
+
`;
|
|
306
|
+
export const CMD_RELEASE = `---
|
|
307
|
+
description: 汇总 docs/designs/draft/ 生成版本文档,归档功能文档
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
进入 **RELEASE 模式**(生成版本文档)。
|
|
311
|
+
|
|
312
|
+
## 执行步骤
|
|
313
|
+
|
|
314
|
+
### 步骤1:读取 draft/ 内容
|
|
315
|
+
|
|
316
|
+
读取 \`docs/designs/draft/\` 下所有 \`.md\` 文件(忽略 \`.gitkeep\`)。
|
|
317
|
+
|
|
318
|
+
如果 draft/ 为空,停止并提示:
|
|
319
|
+
|
|
320
|
+
\`\`\`
|
|
321
|
+
docs/designs/draft/ 目录为空,没有可发布的功能文档。
|
|
322
|
+
请先使用 /dm:publish 生成功能文档。
|
|
323
|
+
\`\`\`
|
|
324
|
+
|
|
325
|
+
### 步骤2:确认版本号
|
|
326
|
+
|
|
327
|
+
向开发者确认版本号:
|
|
328
|
+
|
|
329
|
+
\`\`\`
|
|
330
|
+
draft/ 下共有 N 个功能文档:
|
|
331
|
+
- <slug1>.md — <标题>
|
|
332
|
+
- <slug2>.md — <标题>
|
|
333
|
+
...
|
|
334
|
+
|
|
335
|
+
请输入版本号(如 v1.0、v0.2-beta):
|
|
336
|
+
\`\`\`
|
|
337
|
+
|
|
338
|
+
### 步骤3:生成版本文档
|
|
339
|
+
|
|
340
|
+
写入 \`docs/releases/<version>.md\`,格式如下:
|
|
341
|
+
|
|
342
|
+
\`\`\`markdown
|
|
343
|
+
# Release <version>
|
|
344
|
+
|
|
345
|
+
> 发布日期:YYYY-MM-DD
|
|
346
|
+
|
|
347
|
+
## 本版本包含
|
|
348
|
+
|
|
349
|
+
<逐条列出各功能的简要说明,附链接到对应设计文档>
|
|
350
|
+
|
|
351
|
+
- **[功能标题](../designs/<version>/<slug>.md)**:<一句话说明>
|
|
352
|
+
|
|
353
|
+
## 架构变化
|
|
354
|
+
|
|
355
|
+
<如有重大架构调整,在此说明;无则省略>
|
|
356
|
+
|
|
357
|
+
## 已知问题 / 后续计划
|
|
358
|
+
|
|
359
|
+
<当前版本的限制,下一版本的方向>
|
|
360
|
+
\`\`\`
|
|
361
|
+
|
|
362
|
+
### 步骤4:归档 draft/
|
|
363
|
+
|
|
364
|
+
执行以下操作:
|
|
365
|
+
1. 将 \`docs/designs/draft/\` 重命名为 \`docs/designs/<version>/\`
|
|
366
|
+
2. 新建空的 \`docs/designs/draft/\` 目录,写入 \`.gitkeep\`
|
|
367
|
+
|
|
368
|
+
向开发者确认后执行:
|
|
369
|
+
|
|
370
|
+
\`\`\`
|
|
371
|
+
即将执行:
|
|
372
|
+
docs/designs/draft/ → docs/designs/<version>/
|
|
373
|
+
新建空 docs/designs/draft/
|
|
374
|
+
|
|
375
|
+
确认?(1) 确认 (2) 取消
|
|
376
|
+
\`\`\`
|
|
377
|
+
|
|
378
|
+
### 步骤5:完成提示
|
|
379
|
+
|
|
380
|
+
\`\`\`
|
|
381
|
+
✓ 版本文档已生成:docs/releases/<version>.md
|
|
382
|
+
✓ 功能文档已归档:docs/designs/<version>/
|
|
383
|
+
✓ draft/ 已重置,可开始记录下一版本功能
|
|
384
|
+
|
|
385
|
+
建议:使用 /dm:remember 将本版本的关键决策沉淀为 AI 记忆
|
|
386
|
+
\`\`\`
|
|
387
|
+
|
|
388
|
+
## 注意
|
|
389
|
+
|
|
390
|
+
- 重命名操作不可撤销,执行前必须向用户确认
|
|
391
|
+
- 不修改 \`.devmind/memory/\` 下的任何文件
|
|
392
|
+
- 版本号格式由用户决定,不强制规范
|
|
393
|
+
`;
|
|
394
|
+
//# sourceMappingURL=templates-commands2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates-commands2.js","sourceRoot":"","sources":["../src/templates-commands2.ts"],"names":[],"mappings":"AAAA,oHAAoH;AAEpH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+C3B,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CzB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDvB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BxB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgD9B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgF1B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuF1B,CAAC"}
|