ai-project-manage-cli 5.0.5 → 5.0.6

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/README.md CHANGED
@@ -26,7 +26,7 @@ apm init [--name=我的项目]
26
26
 
27
27
  ```bash
28
28
  apm pull <sessionId>
29
- apm sync-document <sessionId> --file docs/PRD.md
29
+ apm sync-document <sessionId> --file PRD
30
30
  apm update-skills
31
31
  apm branch <sessionId>
32
32
  ```
package/dist/index.js CHANGED
@@ -101,6 +101,11 @@ function documentPlatformName(filePath) {
101
101
  }
102
102
  return base;
103
103
  }
104
+ function resolveSessionDocumentPath(sessionId, documentName, apmRoot) {
105
+ const base = basename(documentName.trim().replace(/\\/g, "/"));
106
+ const fileName = documentLocalFileName(base);
107
+ return join2(sessionDocsDir(sessionId, apmRoot), fileName);
108
+ }
104
109
  async function ensureLoggedConfig() {
105
110
  const cfg = await ensureApmConfig();
106
111
  if (!cfg.token) {
@@ -146,9 +151,6 @@ async function copyTemplateFiles(targetDir) {
146
151
  })
147
152
  );
148
153
  }
149
- function resolveCwdPath(file) {
150
- return resolve(process.cwd(), file);
151
- }
152
154
 
153
155
  // src/commands/init.ts
154
156
  async function runInit(name) {
@@ -648,12 +650,16 @@ async function runSyncDocument(sessionId, options) {
648
650
  }
649
651
  const fileArg = options.file?.trim();
650
652
  if (!fileArg) {
651
- console.error("[apm] \u8BF7\u6307\u5B9A --file <\u672C\u5730\u8DEF\u5F84>");
653
+ console.error("[apm] \u8BF7\u6307\u5B9A --file <\u6587\u6863\u540D\u79F0>");
652
654
  process.exit(1);
653
655
  }
654
- const absPath = resolveCwdPath(fileArg);
656
+ const absPath = resolveSessionDocumentPath(trimmedSessionId, fileArg);
655
657
  if (!existsSync3(absPath)) {
656
- console.error(`[apm] \u6587\u6863\u4E0D\u5B58\u5728: ${absPath}`);
658
+ const docsDir = sessionDocsDir(trimmedSessionId);
659
+ console.error(
660
+ `[apm] \u6587\u6863\u4E0D\u5B58\u5728: ${absPath}
661
+ [apm] \u8BF7\u786E\u8BA4\u5DF2 pull\uFF0C\u4E14 ${docsDir} \u4E0B\u5B58\u5728\u5BF9\u5E94\u6587\u4EF6`
662
+ );
657
663
  process.exit(1);
658
664
  }
659
665
  const content = readFileSync4(absPath, "utf8");
@@ -1766,7 +1772,10 @@ function buildProgram() {
1766
1772
  ).argument("<sessionId>", "\u6C9F\u901A\u7FA4 ID").action(async (sessionId) => {
1767
1773
  await runPull(sessionId);
1768
1774
  });
1769
- program.command("sync-document").description("\u5C06\u672C\u5730 Markdown \u8986\u76D6\u5F0F upsert \u5230\u5E73\u53F0\u9700\u6C42\u6587\u6863").argument("<sessionId>", "\u6C9F\u901A\u7FA4 ID").requiredOption("--file <path>", "\u672C\u5730\u6587\u4EF6\u8DEF\u5F84").action(async (sessionId, opts) => {
1775
+ program.command("sync-document").description("\u5C06\u672C\u5730 Markdown \u8986\u76D6\u5F0F upsert \u5230\u5E73\u53F0\u9700\u6C42\u6587\u6863").argument("<sessionId>", "\u6C9F\u901A\u7FA4 ID").requiredOption(
1776
+ "--file <name>",
1777
+ "\u6587\u6863\u540D\u79F0\uFF08\u5982 PRD \u6216 PRD.md\uFF09\uFF0C\u8BFB\u53D6 .apm/sessions/<sessionId>/docs/ \u4E0B\u5BF9\u5E94\u6587\u4EF6"
1778
+ ).action(async (sessionId, opts) => {
1770
1779
  await runSyncDocument(sessionId, { file: opts.file });
1771
1780
  });
1772
1781
  program.command("append-message").description("\u5411\u5E73\u53F0\u4F1A\u8BDD\u6D88\u606F\u8FFD\u52A0\u5185\u5BB9\uFF08PUT /api/cli/messages/content\uFF09").requiredOption("--id <messageId>", "\u6D88\u606F ID").requiredOption("--content <content>", "\u8981\u8FFD\u52A0\u7684\u6D88\u606F\u5185\u5BB9").action(async (opts) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-project-manage-cli",
3
- "version": "5.0.5",
3
+ "version": "5.0.6",
4
4
  "description": "命令行工具:后续用于调用平台后端 API 完成运维与自动化操作",
5
5
  "type": "module",
6
6
  "private": false,