lee-spec-kit 0.6.9 β 0.6.10
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/dist/index.js +43 -25
- package/package.json +1 -1
- package/templates/en/common/agents/agents.md +12 -0
- package/templates/en/common/agents/git-workflow.md +1 -1
- package/templates/en/common/agents/skills/create-issue.md +2 -2
- package/templates/en/common/agents/skills/create-pr.md +2 -2
- package/templates/ko/common/agents/agents.md +12 -0
- package/templates/ko/common/agents/git-workflow.md +1 -1
- package/templates/ko/common/agents/skills/create-issue.md +2 -2
- package/templates/ko/common/agents/skills/create-pr.md +2 -2
package/dist/index.js
CHANGED
|
@@ -131,13 +131,13 @@ var I18N = {
|
|
|
131
131
|
"context.tipShowAll": "\uC804\uCCB4 \uBCF4\uAE30",
|
|
132
132
|
"context.tipShowDone": "\uC644\uB8CC\uB9CC \uBCF4\uAE30",
|
|
133
133
|
"context.checkRequired": "[\uD655\uC778 \uD544\uC694] ",
|
|
134
|
-
"context.checkPolicyHint": "\u2139\uFE0F \uC0AC\uC6A9\uC790 \uD655\uC778 \uC815\uCC45\uC740 `npx lee-spec-kit docs get agents --json`\uC73C\uB85C \
|
|
134
|
+
"context.checkPolicyHint": "\u2139\uFE0F \uC0AC\uC6A9\uC790 \uD655\uC778 \uC815\uCC45\uC740 \uC138\uC158 \uC2DC\uC791(\uB610\uB294 context \uC555\uCD95/\uB9AC\uC14B \uC9C1\uD6C4)\uC5D0 `npx lee-spec-kit docs get agents --json`\uC73C\uB85C 1\uD68C \uD655\uC778\uD558\uACE0, \uC774\uD6C4\uC5D0\uB294 \uC815\uCC45/\uC124\uC815 \uBCC0\uACBD \uB610\uB294 \uC0AC\uC6A9\uC790 \uC0C8\uB85C\uACE0\uCE68 \uC694\uCCAD \uC2DC\uC5D0\uB9CC \uC7AC\uC870\uD68C\uD558\uC138\uC694. (git push/merge/merge commit \uD3EC\uD568) [\uD655\uC778 \uD544\uC694]\uAC00 \uC788\uC73C\uBA74 \uC0AC\uC6A9\uC790\uC5D0\uAC8C `<\uB77C\uBCA8>` \uB610\uB294 `<\uB77C\uBCA8> OK` (\uC608: `A`, `A OK`) \uC751\uB2F5\uC744 \uBC1B\uC740 \uB4A4 \uC9C4\uD589 (config: approval\uB85C \uC870\uC815 \uAC00\uB2A5)",
|
|
135
135
|
"context.actionOptionHint": "\uC2B9\uC778 \uC751\uB2F5 \uD615\uC2DD: \uB77C\uBCA8 \uD1A0\uD070 \uD3EC\uD568 (\uC608: `A`, `A OK`, `A \uC9C4\uD589\uD574`)",
|
|
136
136
|
"context.actionExplainHint": "\uC2B9\uC778 \uC694\uCCAD \uC804, \uAC01 \uB77C\uBCA8\uC774 \uBB34\uC5C7\uC744 \uC2E4\uD589/\uBCC0\uACBD\uD558\uB294\uC9C0 \uD55C \uC904 \uC694\uC57D\uACFC \uD568\uAED8 \uC124\uBA85\uD558\uC138\uC694.",
|
|
137
137
|
"context.finalLabelPrompt": "\uD604\uC7AC \uC120\uD0DD \uAC00\uB2A5\uD55C \uB77C\uBCA8: {labels}. \uB9C8\uC9C0\uB9C9 \uC751\uB2F5\uC740 `<\uB77C\uBCA8>` \uB610\uB294 `<\uB77C\uBCA8> OK` \uD615\uC2DD\uC73C\uB85C \uBC1B\uC73C\uC138\uC694. (\uC608: {example})",
|
|
138
138
|
"context.finalLabelCommandHint": "\uB77C\uBCA8\uC744 \uBC1B\uC73C\uBA74 \uC2B9\uC778 \uC120\uD0DD \uC2E4\uD589: {command}",
|
|
139
139
|
"context.finalTicketCommandHint": "\uBA85\uB839 \uC2E4\uD589\uC740 \uC2B9\uC778 \uACB0\uACFC\uC758 \uD2F0\uCF13\uC73C\uB85C \uC2E4\uD589: {command}",
|
|
140
|
-
"context.readBuiltinDocFirst": "\
|
|
140
|
+
"context.readBuiltinDocFirst": "\uC774\uBC88 \uC138\uC158\uC5D0 \uC544\uC9C1 \uC77D\uC9C0 \uC54A\uC558\uAC70\uB098 \uBCC0\uACBD \uAC00\uB2A5\uC131\uC774 \uC788\uC744 \uB54C\uB9CC \uB0B4\uC7A5 \uBB38\uC11C\uB97C \uD655\uC778\uD558\uC138\uC694: {command}",
|
|
141
141
|
"context.tipDocsCommitRules": "\uCEE4\uBC0B \uBA54\uC2DC\uC9C0 \uADDC\uCE59\uC740 `npx lee-spec-kit docs get git-workflow --json`\uC73C\uB85C \uD655\uC778\uD558\uC138\uC694.",
|
|
142
142
|
"context.list.docsCommitNeeded": "\uBB38\uC11C \uCEE4\uBC0B \uD544\uC694",
|
|
143
143
|
"context.list.projectCommitNeeded": "\uD504\uB85C\uC81D\uD2B8 \uCF54\uB4DC \uCEE4\uBC0B \uD544\uC694",
|
|
@@ -263,7 +263,7 @@ var I18N = {
|
|
|
263
263
|
"github.mergeRequiresPr": "`--merge`\uB97C \uC0AC\uC6A9\uD558\uB824\uBA74 `--create` \uB610\uB294 `--pr <url|number>`\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.",
|
|
264
264
|
"github.checkoutBaseAfterMergeFailed": "merge \uD6C4 {base} \uBE0C\uB79C\uCE58 checkout\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",
|
|
265
265
|
"github.pullBaseAfterMergeFailed": "merge \uD6C4 {base} \uBE0C\uB79C\uCE58 \uCD5C\uC2E0\uD654\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",
|
|
266
|
-
"github.issueDefaultTitle": "{slug} ({
|
|
266
|
+
"github.issueDefaultTitle": "{slug} ({summary})",
|
|
267
267
|
"github.prDefaultTitleWithIssue": "feat(#{issue}): {slug} (\uAD6C\uD604 \uC5C5\uB370\uC774\uD2B8)",
|
|
268
268
|
"github.prDefaultTitleNoIssue": "feat: {slug} (\uAD6C\uD604 \uC5C5\uB370\uC774\uD2B8)",
|
|
269
269
|
"github.issueHeader": "\u{1F9FE} GitHub Issue \uB3C4\uC6B0\uBBF8",
|
|
@@ -396,18 +396,18 @@ var I18N = {
|
|
|
396
396
|
featureDone: "Feature \uC644\uB8CC"
|
|
397
397
|
},
|
|
398
398
|
messages: {
|
|
399
|
-
specCreate: "`npx lee-spec-kit docs get agents --json`\uC744 \
|
|
399
|
+
specCreate: "\uC774\uBC88 \uC138\uC158\uC5D0 `agents` \uAC00\uC774\uB4DC\uB97C \uC544\uC9C1 \uC77D\uC9C0 \uC54A\uC558\uB2E4\uBA74 `npx lee-spec-kit docs get agents --json`\uC744 \uC2E4\uD589\uD55C \uB4A4, \uBC18\uD658\uB41C \uD615\uC2DD\uC5D0 \uB9DE\uCDB0 spec.md\uB97C \uC791\uC131\uD558\uC138\uC694. (\uC774\uBBF8 \uC77D\uC5C8\uB2E4\uBA74 \uC7AC\uC2E4\uD589\uD558\uC9C0 \uB9C8\uC138\uC694.)",
|
|
400
400
|
specImprove: "spec.md\uB97C \uBCF4\uC644\uD558\uACE0 \uC0C1\uD0DC\uB97C Review\uB85C \uBCC0\uACBD\uD558\uC138\uC694.",
|
|
401
401
|
specApproval: "spec.md \uB0B4\uC6A9\uC744 \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uACF5\uC720\uD558\uACE0 \uC2B9\uC778(`A` \uB610\uB294 `A OK` \uD615\uC2DD)\uC744 \uBC1B\uC73C\uC138\uC694.",
|
|
402
|
-
planCreate: "`npx lee-spec-kit docs get agents --json`\uC744 \
|
|
402
|
+
planCreate: "\uC774\uBC88 \uC138\uC158\uC5D0 `agents` \uAC00\uC774\uB4DC\uB97C \uC544\uC9C1 \uC77D\uC9C0 \uC54A\uC558\uB2E4\uBA74 `npx lee-spec-kit docs get agents --json`\uC744 \uC2E4\uD589\uD55C \uB4A4, \uBC18\uD658\uB41C \uD615\uC2DD\uC5D0 \uB9DE\uCDB0 plan.md\uB97C \uC791\uC131\uD558\uC138\uC694. (\uC774\uBBF8 \uC77D\uC5C8\uB2E4\uBA74 \uC7AC\uC2E4\uD589\uD558\uC9C0 \uB9C8\uC138\uC694.)",
|
|
403
403
|
planImprove: "plan.md\uB97C \uBCF4\uC644\uD558\uACE0 \uC0C1\uD0DC\uB97C Review\uB85C \uBCC0\uACBD\uD558\uC138\uC694.",
|
|
404
404
|
planApproval: "plan.md \uB0B4\uC6A9\uC744 \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uACF5\uC720\uD558\uACE0 \uC2B9\uC778(`A` \uB610\uB294 `A OK` \uD615\uC2DD)\uC744 \uBC1B\uC73C\uC138\uC694.",
|
|
405
|
-
tasksCreate: "`npx lee-spec-kit docs get agents --json`\uC744 \
|
|
405
|
+
tasksCreate: "\uC774\uBC88 \uC138\uC158\uC5D0 `agents` \uAC00\uC774\uB4DC\uB97C \uC544\uC9C1 \uC77D\uC9C0 \uC54A\uC558\uB2E4\uBA74 `npx lee-spec-kit docs get agents --json`\uC744 \uC2E4\uD589\uD55C \uB4A4, \uBC18\uD658\uB41C \uD615\uC2DD\uC5D0 \uB9DE\uCDB0 tasks.md\uB97C \uC791\uC131\uD558\uC138\uC694. (\uC774\uBBF8 \uC77D\uC5C8\uB2E4\uBA74 \uC7AC\uC2E4\uD589\uD558\uC9C0 \uB9C8\uC138\uC694.)",
|
|
406
406
|
tasksNeedAtLeastOne: "tasks.md\uC5D0 \uCD5C\uC18C 1\uAC1C \uC774\uC0C1\uC758 \uD0DC\uC2A4\uD06C\uB97C \uC791\uC131\uD558\uC138\uC694.",
|
|
407
407
|
tasksImprove: "tasks.md\uB97C \uBCF4\uC644\uD558\uACE0 \uBB38\uC11C \uC0C1\uD0DC\uB97C Review\uB85C \uBCC0\uACBD\uD558\uC138\uC694.",
|
|
408
408
|
tasksApproval: "tasks.md \uB0B4\uC6A9\uC744 \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uACF5\uC720\uD558\uACE0 \uC9C4\uD589 \uC2B9\uC778(`A` \uB610\uB294 `A OK` \uD615\uC2DD)\uC744 \uBC1B\uC73C\uC138\uC694. (\uC2B9\uC778 \uD6C4 \uBB38\uC11C \uC0C1\uD0DC\uB97C Approved\uB85C \uBCC0\uACBD)",
|
|
409
409
|
docsCommitPlanning: 'cd "{docsGitCwd}" && git add "{featurePath}" && git commit -m "docs(planning): {folderName} \uAE30\uD68D \uBB38\uC11C"',
|
|
410
|
-
issueCreateAndWrite: "`npx lee-spec-kit docs get create-issue --json`\uC73C\uB85C \uC808\uCC28\uB97C \uD655\uC778\uD55C \uB4A4, `npx lee-spec-kit github issue {featureRef} --json`\uC73C\uB85C \uBCF8\uBB38 \uD15C\uD50C\uB9BF\uC744 \uC0DD\uC131\uD558\uC138\uC694. \uBAA9\uD45C/\uC644\uB8CC \uAE30\uC900\uC744 \uAC80\uD1A0\xB7\uBCF4\uC644\uD558\uACE0 \uC0AC\uC6A9\uC790 \uC2B9\uC778(OK) \uD6C4 `--create --confirm OK`\uB85C \uC0DD\uC131\uD55C \uB2E4\uC74C, spec.md/tasks.md\uC758 \uC774\uC288 \uBC88\uD638\uB97C \uCC44\uC6B0\uACE0 \uBB38\uC11C \uCEE4\uBC0B\uC744 \uC900\uBE44\uD558\uC138\uC694.",
|
|
410
|
+
issueCreateAndWrite: "\uC774\uBC88 \uC138\uC158\uC5D0 \uC544\uC9C1 \uD655\uC778\uD558\uC9C0 \uC54A\uC558\uB2E4\uBA74 `npx lee-spec-kit docs get create-issue --json`\uC73C\uB85C \uC808\uCC28\uB97C \uD655\uC778\uD55C \uB4A4, `npx lee-spec-kit github issue {featureRef} --json`\uC73C\uB85C \uBCF8\uBB38 \uD15C\uD50C\uB9BF\uC744 \uC0DD\uC131\uD558\uC138\uC694. (\uC774\uBBF8 \uD655\uC778\uD55C \uB3D9\uC77C \uBB38\uC11C\uB294 \uC7AC\uC870\uD68C\uD558\uC9C0 \uB9C8\uC138\uC694.) \uBAA9\uD45C/\uC644\uB8CC \uAE30\uC900\uC744 \uAC80\uD1A0\xB7\uBCF4\uC644\uD558\uACE0 \uC0AC\uC6A9\uC790 \uC2B9\uC778(OK) \uD6C4 `--create --confirm OK`\uB85C \uC0DD\uC131\uD55C \uB2E4\uC74C, spec.md/tasks.md\uC758 \uC774\uC288 \uBC88\uD638\uB97C \uCC44\uC6B0\uACE0 \uBB38\uC11C \uCEE4\uBC0B\uC744 \uC900\uBE44\uD558\uC138\uC694.",
|
|
411
411
|
docsCommitIssueUpdate: 'cd "{docsGitCwd}" && git add "{featurePath}" && git commit -m "docs(#{issueNumber}): {folderName} \uBB38\uC11C \uC5C5\uB370\uC774\uD2B8"',
|
|
412
412
|
docsCommitUpdate: 'cd "{docsGitCwd}" && git add "{featurePath}" && git commit -m "docs: {folderName} \uBB38\uC11C \uC5C5\uB370\uC774\uD2B8"',
|
|
413
413
|
projectCommitIssueUpdate: 'cd "{projectGitCwd}" && (git diff --cached --quiet && echo "\uC2A4\uD14C\uC774\uC9D5\uB41C \uD30C\uC77C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. \uC774\uBC88 \uD0DC\uC2A4\uD06C\uC5D0\uC11C \uC218\uC815\uD55C \uD30C\uC77C\uB9CC \uC120\uD0DD\uD574 git add [files] \uD6C4 \uB2E4\uC2DC \uC2E4\uD589\uD558\uC138\uC694." && exit 1 || git commit -m "feat(#{issueNumber}): {commitTopic}")',
|
|
@@ -416,10 +416,10 @@ var I18N = {
|
|
|
416
416
|
createBranch: 'cd "{projectGitCwd}" && git checkout -b feat/{issueNumber}-{slug}',
|
|
417
417
|
tasksAllDoneButNoChecklist: '\uBAA8\uB4E0 \uD0DC\uC2A4\uD06C\uAC00 DONE\uC774\uC9C0\uB9CC \uC644\uB8CC \uC870\uAC74 \uCCB4\uD06C\uB9AC\uC2A4\uD2B8 \uC139\uC158\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. tasks.md\uC758 "\uC644\uB8CC \uC870\uAC74" \uC139\uC158\uC744 \uCD94\uAC00/\uD655\uC778\uD558\uC138\uC694.',
|
|
418
418
|
tasksAllDoneButChecklist: "\uBAA8\uB4E0 \uD0DC\uC2A4\uD06C\uAC00 DONE\uC774\uC9C0\uB9CC \uC644\uB8CC \uC870\uAC74 \uCCB4\uD06C\uB9AC\uC2A4\uD2B8\uAC00 \uC644\uC804\uD788 \uCCB4\uD06C\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. ({checked}/{total})",
|
|
419
|
-
finishDoingTask: '\uD604\uC7AC DOING/REVIEW \uC911\uC778 \uD0DC\uC2A4\uD06C\uB97C \uC644\uB8CC\uD558\uC138\uC694: "{title}" ({done}/{total}) (\
|
|
420
|
-
startNextTodoTask: '\uB2E4\uC74C TODO \uD0DC\uC2A4\uD06C\uB97C \uC2DC\uC791\uD558\uC138\uC694: "{title}" ({done}/{total}) (\uC2DC\uC791 \uC804 `npx lee-spec-kit docs get execute-task --json`\uC73C\uB85C \uC808\uCC28 \uD655\uC778 \u2192 \uC81C\uBAA9 \uACF5\uC720 + \uC2B9\uC778(`A` \uB610\uB294 `A OK` \uD615\uC2DD) \uD6C4 DOING \uCC98\uB9AC)',
|
|
421
|
-
checkTaskStatuses: "\uD0DC\uC2A4\uD06C \uC0C1\uD0DC\uB97C \uD655\uC778\uD558\uC138\uC694. ({done}/{total}) (`npx lee-spec-kit docs get execute-task --json` \
|
|
422
|
-
taskCommitGateStrictBlock: "\uB2E4\uC74C TODO \uD0DC\uC2A4\uD06C\uB85C \uB118\uC5B4\uAC00\uAE30 \uC804\uC5D0 `1 \uD0DC\uC2A4\uD06C = 1 \uCEE4\uBC0B` \uADDC\uCE59\uC744 \uCDA9\uC871\uD574\uC57C \uD569\uB2C8\uB2E4. \uC810\uAC80 \uACB0\uACFC: {reason}. `
|
|
419
|
+
finishDoingTask: '\uD604\uC7AC DOING/REVIEW \uC911\uC778 \uD0DC\uC2A4\uD06C\uB97C \uC644\uB8CC\uD558\uC138\uC694: "{title}" ({done}/{total}) (\uC774\uBC88 \uC138\uC158\uC5D0 `execute-task` \uAC00\uC774\uB4DC\uB97C \uC544\uC9C1 \uC77D\uC9C0 \uC54A\uC558\uB2E4\uBA74 `npx lee-spec-kit docs get execute-task --json`\uC73C\uB85C \uC808\uCC28 \uD655\uC778 \u2192 \uACB0\uACFC/\uAC80\uC99D \uACF5\uC720 + \uC2B9\uC778(`A` \uB610\uB294 `A OK` \uD615\uC2DD) \uD6C4 DONE \uCC98\uB9AC)',
|
|
420
|
+
startNextTodoTask: '\uB2E4\uC74C TODO \uD0DC\uC2A4\uD06C\uB97C \uC2DC\uC791\uD558\uC138\uC694: "{title}" ({done}/{total}) (\uC774\uBC88 \uC138\uC158\uC5D0 `execute-task` \uAC00\uC774\uB4DC\uB97C \uC544\uC9C1 \uC77D\uC9C0 \uC54A\uC558\uB2E4\uBA74 \uC2DC\uC791 \uC804 `npx lee-spec-kit docs get execute-task --json`\uC73C\uB85C \uC808\uCC28 \uD655\uC778 \u2192 \uC81C\uBAA9 \uACF5\uC720 + \uC2B9\uC778(`A` \uB610\uB294 `A OK` \uD615\uC2DD) \uD6C4 DOING \uCC98\uB9AC)',
|
|
421
|
+
checkTaskStatuses: "\uD0DC\uC2A4\uD06C \uC0C1\uD0DC\uB97C \uD655\uC778\uD558\uC138\uC694. ({done}/{total}) (`execute-task` \uAC00\uC774\uB4DC \uAE30\uC900\uC73C\uB85C \uC810\uAC80; \uC774\uBC88 \uC138\uC158\uC5D0 \uBBF8\uD655\uC778 \uC2DC\uC5D0\uB9CC `npx lee-spec-kit docs get execute-task --json` \uC2E4\uD589)",
|
|
422
|
+
taskCommitGateStrictBlock: "\uB2E4\uC74C TODO \uD0DC\uC2A4\uD06C\uB85C \uB118\uC5B4\uAC00\uAE30 \uC804\uC5D0 `1 \uD0DC\uC2A4\uD06C = 1 \uCEE4\uBC0B` \uADDC\uCE59\uC744 \uCDA9\uC871\uD574\uC57C \uD569\uB2C8\uB2E4. \uC810\uAC80 \uACB0\uACFC: {reason}. `execute-task` \uAC00\uC774\uB4DC \uC808\uCC28\uB97C \uAE30\uC900\uC73C\uB85C \uD0DC\uC2A4\uD06C \uCEE4\uBC0B \uB2E8\uC704\uB97C \uC815\uB9AC\uD55C \uB4A4 \uB2E4\uC2DC \uC9C4\uD589\uD558\uC138\uC694. (\uC774\uBC88 \uC138\uC158\uC5D0 \uBBF8\uD655\uC778 \uC2DC\uC5D0\uB9CC `npx lee-spec-kit docs get execute-task --json` \uC2E4\uD589)",
|
|
423
423
|
taskCommitGateWarnProceed: "\u26A0\uFE0F \uD0DC\uC2A4\uD06C \uCEE4\uBC0B \uB2E8\uC704 \uC810\uAC80 \uACBD\uACE0: {reason}. \uD604\uC7AC\uB294 \uC9C4\uD589 \uAC00\uB2A5\uD558\uC9C0\uB9CC `1 \uD0DC\uC2A4\uD06C = 1 \uCEE4\uBC0B`\uC744 \uAD8C\uC7A5\uD569\uB2C8\uB2E4.",
|
|
424
424
|
taskCommitGateReasonNoTasksCommit: "\uCD5C\uADFC tasks.md \uCEE4\uBC0B\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",
|
|
425
425
|
taskCommitGateReasonTasksFileUnavailable: "\uCD5C\uADFC \uCEE4\uBC0B\uC5D0\uC11C tasks.md \uC774\uB825\uC744 \uD310\uB3C5\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",
|
|
@@ -430,7 +430,7 @@ var I18N = {
|
|
|
430
430
|
prePrReviewRun: "PR \uC0DD\uC131 \uC804 \uC0AC\uC804 \uCF54\uB4DC\uB9AC\uBDF0\uB97C \uC9C4\uD589\uD558\uC138\uC694. \uC6B0\uC120\uC21C\uC704 \uC2A4\uD0AC: {skills} (\uC124\uCE58\uB41C \uB354 \uC801\uD569\uD55C \uC2A4\uD0AC\uC774 \uC788\uB2E4\uBA74 \uBA3C\uC800 \uC81C\uC548 \uD6C4 \uC0AC\uC6A9). \uC2A4\uD0AC\uC744 \uC4F8 \uC218 \uC5C6\uC73C\uBA74 `{fallback}` \uC815\uCC45\uC73C\uB85C \uC9C4\uD589\uD558\uACE0 `PR \uC804 \uB9AC\uBDF0`\uB97C Done\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uD558\uC138\uC694. Findings \uC815\uCC45: {findingsPolicy}",
|
|
431
431
|
prePrReviewFindingsBlock: "\uC911\uC694 \uC774\uC288\uB294 \uC218\uC815/\uD569\uC758 \uD6C4\uC5D0\uB9CC PR \uC0DD\uC131",
|
|
432
432
|
prePrReviewFindingsWarn: "\uB9AC\uC2A4\uD06C\uB97C \uACF5\uC720\uD558\uBA74 PR \uC0DD\uC131 \uC9C4\uD589 \uAC00\uB2A5",
|
|
433
|
-
prCreate: "`npx lee-spec-kit docs get create-pr --json`\uC73C\uB85C \uC808\uCC28\uB97C \uD655\uC778\uD55C \uB4A4, `npx lee-spec-kit github pr {featureRef} --json`\uC73C\uB85C \uBCF8\uBB38 \uD15C\uD50C\uB9BF\uC744 \uC0DD\uC131\uD558\uC138\uC694. \uBCC0\uACBD \uC0AC\uD56D/\uD14C\uC2A4\uD2B8 \uC139\uC158\uC744 \uAC80\uD1A0\xB7\uBCF4\uC644\uD558\uACE0 \uC0AC\uC6A9\uC790 \uC2B9\uC778(OK) \uD6C4 `--create --confirm OK`\uB85C \uC0DD\uC131\uD55C \uB2E4\uC74C tasks.md\uC5D0 PR \uB9C1\uD06C\uB97C \uAE30\uB85D\uD558\uC138\uC694.",
|
|
433
|
+
prCreate: "\uC774\uBC88 \uC138\uC158\uC5D0 \uC544\uC9C1 \uD655\uC778\uD558\uC9C0 \uC54A\uC558\uB2E4\uBA74 `npx lee-spec-kit docs get create-pr --json`\uC73C\uB85C \uC808\uCC28\uB97C \uD655\uC778\uD55C \uB4A4, `npx lee-spec-kit github pr {featureRef} --json`\uC73C\uB85C \uBCF8\uBB38 \uD15C\uD50C\uB9BF\uC744 \uC0DD\uC131\uD558\uC138\uC694. (\uC774\uBBF8 \uD655\uC778\uD55C \uB3D9\uC77C \uBB38\uC11C\uB294 \uC7AC\uC870\uD68C\uD558\uC9C0 \uB9C8\uC138\uC694.) \uBCC0\uACBD \uC0AC\uD56D/\uD14C\uC2A4\uD2B8 \uC139\uC158\uC744 \uAC80\uD1A0\xB7\uBCF4\uC644\uD558\uACE0 \uC0AC\uC6A9\uC790 \uC2B9\uC778(OK) \uD6C4 `--create --confirm OK`\uB85C \uC0DD\uC131\uD55C \uB2E4\uC74C tasks.md\uC5D0 PR \uB9C1\uD06C\uB97C \uAE30\uB85D\uD558\uC138\uC694.",
|
|
434
434
|
prFillStatus: "tasks.md\uC758 PR \uC0C1\uD0DC\uB97C Review/Approved \uC911 \uD558\uB098\uB85C \uC124\uC815\uD558\uC138\uC694. (merge \uD6C4 Approved\uB85C \uC5C5\uB370\uC774\uD2B8)",
|
|
435
435
|
prResolveReview: "\uB9AC\uBDF0 \uCF54\uBA58\uD2B8\uB97C \uD574\uACB0\uD558\uACE0 PR \uC0C1\uD0DC\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uC138\uC694. (PR \uC0C1\uD0DC: Review \u2192 Approved)",
|
|
436
436
|
prRequestReview: "\uB9AC\uBDF0\uC5B4\uC5D0\uAC8C \uB9AC\uBDF0\uB97C \uC694\uCCAD\uD558\uACE0 PR \uC0C1\uD0DC\uB97C Review\uB85C \uC5C5\uB370\uC774\uD2B8\uD558\uC138\uC694.",
|
|
@@ -527,13 +527,13 @@ var I18N = {
|
|
|
527
527
|
"context.tipShowAll": "Show all",
|
|
528
528
|
"context.tipShowDone": "Show done only",
|
|
529
529
|
"context.checkRequired": "[CHECK required] ",
|
|
530
|
-
"context.checkPolicyHint": "\u2139\uFE0F Check user-approval policy
|
|
530
|
+
"context.checkPolicyHint": "\u2139\uFE0F Check user-approval policy once at session start (or right after context compression/reset) with `npx lee-spec-kit docs get agents --json`; re-read only when policy/config changes or user explicitly requests refresh. (includes git push/merge and merge commits). If you see [CHECK required], wait for `<label>` or `<label> OK` (e.g. `A`, `A OK`) before proceeding (config: approval can override)",
|
|
531
531
|
"context.actionOptionHint": "Approval reply format: include a label token (e.g. `A`, `A OK`, `A proceed`)",
|
|
532
532
|
"context.actionExplainHint": "Before requesting approval, explain what each label will run/change with a one-line summary.",
|
|
533
533
|
"context.finalLabelPrompt": "Available labels now: {labels}. End with a label request in `<label>` or `<label> OK` format. (e.g. {example})",
|
|
534
534
|
"context.finalLabelCommandHint": "When a label is provided, run approval selection: {command}",
|
|
535
535
|
"context.finalTicketCommandHint": "Execute commands using the ticket from approval result: {command}",
|
|
536
|
-
"context.readBuiltinDocFirst": "Read built-in docs
|
|
536
|
+
"context.readBuiltinDocFirst": "Read built-in docs only if not read in this session yet or likely changed: {command}",
|
|
537
537
|
"context.tipDocsCommitRules": "Check commit message rules with `npx lee-spec-kit docs get git-workflow --json`.",
|
|
538
538
|
"context.list.docsCommitNeeded": "Commit docs changes",
|
|
539
539
|
"context.list.projectCommitNeeded": "Commit project code changes",
|
|
@@ -659,7 +659,7 @@ var I18N = {
|
|
|
659
659
|
"github.mergeRequiresPr": "`--merge` requires `--create` or `--pr <url|number>`.",
|
|
660
660
|
"github.checkoutBaseAfterMergeFailed": "Failed to checkout {base} after merge",
|
|
661
661
|
"github.pullBaseAfterMergeFailed": "Failed to update {base} after merge",
|
|
662
|
-
"github.issueDefaultTitle": "{slug} ({
|
|
662
|
+
"github.issueDefaultTitle": "{slug} ({summary})",
|
|
663
663
|
"github.prDefaultTitleWithIssue": "feat(#{issue}): {slug} (implementation update)",
|
|
664
664
|
"github.prDefaultTitleNoIssue": "feat: {slug} (implementation update)",
|
|
665
665
|
"github.issueHeader": "\u{1F9FE} GitHub Issue Helper",
|
|
@@ -792,18 +792,18 @@ var I18N = {
|
|
|
792
792
|
featureDone: "Feature done"
|
|
793
793
|
},
|
|
794
794
|
messages: {
|
|
795
|
-
specCreate: "
|
|
795
|
+
specCreate: "If `agents` guide has not been read in this session, run `npx lee-spec-kit docs get agents --json`, then write spec.md in that format. (Do not re-run if already read.)",
|
|
796
796
|
specImprove: "Improve spec.md and change Status to Review.",
|
|
797
797
|
specApproval: "Share spec.md with the user and get approval (`A` or `A OK` format).",
|
|
798
|
-
planCreate: "
|
|
798
|
+
planCreate: "If `agents` guide has not been read in this session, run `npx lee-spec-kit docs get agents --json`, then write plan.md in that format. (Do not re-run if already read.)",
|
|
799
799
|
planImprove: "Improve plan.md and change Status to Review.",
|
|
800
800
|
planApproval: "Share plan.md with the user and get approval (`A` or `A OK` format).",
|
|
801
|
-
tasksCreate: "
|
|
801
|
+
tasksCreate: "If `agents` guide has not been read in this session, run `npx lee-spec-kit docs get agents --json`, then write tasks.md in that format. (Do not re-run if already read.)",
|
|
802
802
|
tasksNeedAtLeastOne: "Write at least 1 task in tasks.md.",
|
|
803
803
|
tasksImprove: "Improve tasks.md and change Doc Status to Review.",
|
|
804
804
|
tasksApproval: "Share tasks.md with the user and get progress approval (`A` or `A OK` format). (Then set Doc Status to Approved)",
|
|
805
805
|
docsCommitPlanning: 'cd "{docsGitCwd}" && git add "{featurePath}" && git commit -m "docs(planning): {folderName} planning docs"',
|
|
806
|
-
issueCreateAndWrite: "
|
|
806
|
+
issueCreateAndWrite: "If not checked in this session yet, review procedure with `npx lee-spec-kit docs get create-issue --json`, then generate a body template via `npx lee-spec-kit github issue {featureRef} --json`. (Do not re-read the same doc in the same session.) Refine goals/completion criteria, get explicit user OK, run `--create --confirm OK`, then update issue number in spec.md/tasks.md and prepare a docs commit.",
|
|
807
807
|
docsCommitIssueUpdate: 'cd "{docsGitCwd}" && git add "{featurePath}" && git commit -m "docs(#{issueNumber}): {folderName} docs update"',
|
|
808
808
|
docsCommitUpdate: 'cd "{docsGitCwd}" && git add "{featurePath}" && git commit -m "docs: {folderName} docs update"',
|
|
809
809
|
projectCommitIssueUpdate: 'cd "{projectGitCwd}" && (git diff --cached --quiet && echo "No staged files. Stage only files changed in this task with git add [files], then run again." && exit 1 || git commit -m "feat(#{issueNumber}): {commitTopic}")',
|
|
@@ -812,10 +812,10 @@ var I18N = {
|
|
|
812
812
|
createBranch: 'cd "{projectGitCwd}" && git checkout -b feat/{issueNumber}-{slug}',
|
|
813
813
|
tasksAllDoneButNoChecklist: 'All tasks are DONE, but no completion checklist section was found. Add/verify the "Completion Criteria" section in tasks.md.',
|
|
814
814
|
tasksAllDoneButChecklist: "All tasks are DONE, but the completion checklist is not fully checked. ({checked}/{total})",
|
|
815
|
-
finishDoingTask: 'Finish the current DOING/REVIEW task: "{title}" ({done}/{total}) (
|
|
816
|
-
startNextTodoTask: 'Start the next TODO task: "{title}" ({done}/{total}) (
|
|
817
|
-
checkTaskStatuses: "Check task statuses. ({done}/{total}) (Use `npx lee-spec-kit docs get execute-task --json`
|
|
818
|
-
taskCommitGateStrictBlock: "Before moving to the next TODO task, you must satisfy the `1 task = 1 commit` rule. Check result: {reason}. Re-align task commit boundaries using `npx lee-spec-kit docs get execute-task --json
|
|
815
|
+
finishDoingTask: 'Finish the current DOING/REVIEW task: "{title}" ({done}/{total}) (If `execute-task` guide has not been read in this session yet, read `npx lee-spec-kit docs get execute-task --json`, then share outcome/verification + get OK before marking DONE)',
|
|
816
|
+
startNextTodoTask: 'Start the next TODO task: "{title}" ({done}/{total}) (If `execute-task` guide has not been read in this session yet, read `npx lee-spec-kit docs get execute-task --json` before starting, then share title + get OK before marking DOING)',
|
|
817
|
+
checkTaskStatuses: "Check task statuses. ({done}/{total}) (Use `execute-task` guide as baseline; run `npx lee-spec-kit docs get execute-task --json` only if not read in this session)",
|
|
818
|
+
taskCommitGateStrictBlock: "Before moving to the next TODO task, you must satisfy the `1 task = 1 commit` rule. Check result: {reason}. Re-align task commit boundaries using the `execute-task` guide, then continue. (Run `npx lee-spec-kit docs get execute-task --json` only if not read in this session)",
|
|
819
819
|
taskCommitGateWarnProceed: "\u26A0\uFE0F Task commit boundary warning: {reason}. You may continue, but `1 task = 1 commit` is recommended.",
|
|
820
820
|
taskCommitGateReasonNoTasksCommit: "No recent tasks.md commit was found",
|
|
821
821
|
taskCommitGateReasonTasksFileUnavailable: "Cannot read tasks.md history from the latest commit",
|
|
@@ -826,7 +826,7 @@ var I18N = {
|
|
|
826
826
|
prePrReviewRun: "Run a pre-PR code review before creating the PR. Preferred skills: {skills} (if a better installed skill fits this change, propose it first). If no skill can run, use `{fallback}` and set `Pre-PR Review` to Done in tasks.md. Findings policy: {findingsPolicy}",
|
|
827
827
|
prePrReviewFindingsBlock: "major findings must be fixed/aligned before PR creation",
|
|
828
828
|
prePrReviewFindingsWarn: "you may proceed after sharing the risks",
|
|
829
|
-
prCreate: "
|
|
829
|
+
prCreate: "If not checked in this session yet, review procedure with `npx lee-spec-kit docs get create-pr --json`, then generate a body template via `npx lee-spec-kit github pr {featureRef} --json`. (Do not re-read the same doc in the same session.) Refine changes/tests sections, get explicit user OK, run `--create --confirm OK`, then record the PR link in tasks.md.",
|
|
830
830
|
prFillStatus: "Set PR Status in tasks.md to Review/Approved. (After merge, update it to Approved.)",
|
|
831
831
|
prResolveReview: "Resolve review comments and update PR Status. (PR Status: Review \u2192 Approved)",
|
|
832
832
|
prRequestReview: "Request review and update PR Status to Review.",
|
|
@@ -7982,6 +7982,24 @@ function resolveOverviewFromSpec(specContent, feature, lang) {
|
|
|
7982
7982
|
if (fromOverview) return fromOverview;
|
|
7983
7983
|
return lang === "ko" ? `\`${feature.folderName}\` \uAE30\uB2A5 \uAC1C\uC694\uB97C spec.md \uAE30\uC900\uC73C\uB85C \uC791\uC131\uD558\uC138\uC694.` : `Summarize feature \`${feature.folderName}\` from spec.md.`;
|
|
7984
7984
|
}
|
|
7985
|
+
function normalizeIssueTitleSummaryLine(raw) {
|
|
7986
|
+
return raw.trim().replace(/^\s*[-*+]\s+/, "").replace(/^\s*\d+[.)]\s+/, "").replace(/^\s*>\s*/, "").replace(/`/g, "").replace(/\*\*(.*?)\*\*/g, "$1").replace(/\[(.*?)\]\((.*?)\)/g, "$1").replace(/\s+/g, " ").trim();
|
|
7987
|
+
}
|
|
7988
|
+
function isOverviewMetadataLine(line, lang) {
|
|
7989
|
+
const cleaned = line.replace(/^[-*+]\s*/, "").trim().toLowerCase();
|
|
7990
|
+
const keys = lang === "ko" ? ["\uAE30\uB2A5 id", "\uAE30\uB2A5\uBA85", "\uB300\uC0C1 \uB808\uD3EC", "\uC774\uC288 \uBC88\uD638", "\uC791\uC131\uC77C", "\uC0C1\uD0DC"] : ["feature id", "feature name", "target repo", "issue number", "created", "status"];
|
|
7991
|
+
return keys.some((key) => cleaned.startsWith(`${key}:`));
|
|
7992
|
+
}
|
|
7993
|
+
function truncateIssueTitleSummary(input, maxLength = 72) {
|
|
7994
|
+
if (input.length <= maxLength) return input;
|
|
7995
|
+
return `${input.slice(0, maxLength - 3).trimEnd()}...`;
|
|
7996
|
+
}
|
|
7997
|
+
function resolveIssueTitleSummary(overview, feature, lang) {
|
|
7998
|
+
const candidates = overview.split("\n").map((line) => normalizeIssueTitleSummaryLine(line)).filter((line) => !!line).filter((line) => !isOverviewMetadataLine(line, lang));
|
|
7999
|
+
const fallback = lang === "ko" ? `${feature.slug} \uAE30\uB2A5 \uAD6C\uD604` : `${feature.slug} feature implementation`;
|
|
8000
|
+
const picked = candidates[0] || fallback;
|
|
8001
|
+
return truncateIssueTitleSummary(picked);
|
|
8002
|
+
}
|
|
7985
8003
|
function getPrScreenshotsHeading(lang) {
|
|
7986
8004
|
return getGithubDraftArtifactHeading("pr", "screenshots", lang) || (lang === "ko" ? "\uC2A4\uD06C\uB9B0\uC0F7" : "Screenshots");
|
|
7987
8005
|
}
|
|
@@ -8424,7 +8442,7 @@ function githubCommand(program2) {
|
|
|
8424
8442
|
const overview = resolveOverviewFromSpec(specContent, feature, config.lang);
|
|
8425
8443
|
const title = options.title?.trim() || tg(config.lang, "issueDefaultTitle", {
|
|
8426
8444
|
slug: feature.slug,
|
|
8427
|
-
|
|
8445
|
+
summary: resolveIssueTitleSummary(overview, feature, config.lang)
|
|
8428
8446
|
});
|
|
8429
8447
|
const generatedBody = buildIssueBody(
|
|
8430
8448
|
specContent,
|
package/package.json
CHANGED
|
@@ -51,6 +51,18 @@ Reply format: "<LABEL>" or "<LABEL> OK"
|
|
|
51
51
|
|
|
52
52
|
---
|
|
53
53
|
|
|
54
|
+
## π Built-in Docs Read Policy (MUST)
|
|
55
|
+
|
|
56
|
+
- Use `docs get` once per session start (or right after context compression/reset).
|
|
57
|
+
- Do not re-read the same doc again in the same session.
|
|
58
|
+
- From `requiredDocs[*].command`, fetch only docs not yet read in this session.
|
|
59
|
+
- You may re-read only when:
|
|
60
|
+
- user explicitly asks for policy refresh
|
|
61
|
+
- policy/config changed (for example after `update`)
|
|
62
|
+
- session restarted or context was compressed/reset
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
54
66
|
## Required References
|
|
55
67
|
|
|
56
68
|
- Highest-priority custom rules: `/docs/agents/custom.md`
|
|
@@ -70,7 +70,7 @@ main
|
|
|
70
70
|
|
|
71
71
|
## Automation Workflow
|
|
72
72
|
|
|
73
|
-
> π Read
|
|
73
|
+
> π Read step guides via `docs get`, but do not re-read the same doc in the same session. (Re-read only after session/compression reset, policy/config changes, or explicit user refresh request.)
|
|
74
74
|
|
|
75
75
|
| Workflow | Guide |
|
|
76
76
|
| -------------- | -------------------------------------------------- |
|
|
@@ -15,10 +15,10 @@ Guide for creating GitHub Issues.
|
|
|
15
15
|
|
|
16
16
|
### 1. Prepare Issue Draft
|
|
17
17
|
|
|
18
|
-
> π **
|
|
18
|
+
> π **If not read in this session, read procedure/template via `docs get`; do not re-read the same doc in the same session, then generate a draft and treat it as the source of truth.**
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
# 1) Read procedure + template policy
|
|
21
|
+
# 1) Read procedure + template policy (only docs not read in this session)
|
|
22
22
|
npx lee-spec-kit docs get create-issue --json
|
|
23
23
|
npx lee-spec-kit docs get issue-template --json
|
|
24
24
|
|
|
@@ -17,10 +17,10 @@ Guide for creating Pull Requests.
|
|
|
17
17
|
|
|
18
18
|
### 1. Prepare PR Body Template
|
|
19
19
|
|
|
20
|
-
> π **
|
|
20
|
+
> π **If not read in this session, read procedure/template via `docs get`; do not re-read the same doc in the same session, then generate a body template and treat it as the source of truth.**
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
# 1) Read procedure + template policy
|
|
23
|
+
# 1) Read procedure + template policy (only docs not read in this session)
|
|
24
24
|
npx lee-spec-kit docs get create-pr --json
|
|
25
25
|
npx lee-spec-kit docs get pr-template --json
|
|
26
26
|
|
|
@@ -51,6 +51,18 @@ B: <detail>
|
|
|
51
51
|
|
|
52
52
|
---
|
|
53
53
|
|
|
54
|
+
## π λ΄μ₯ λ¬Έμ μ‘°ν κ·μΉ (MUST)
|
|
55
|
+
|
|
56
|
+
- `docs get`μ μΈμ
μμ(λλ context μμΆ/리μ
μ§ν) κΈ°μ€μΌλ‘ 1ν νμΈν©λλ€.
|
|
57
|
+
- κ°μ μΈμ
μμ μ΄λ―Έ μ½μ λμΌ λ¬Έμλ λ€μ μ½μ§ μμ΅λλ€.
|
|
58
|
+
- νμ¬ μ‘μ
μ `requiredDocs[*].command` μ€ μ΄λ² μΈμ
μ μμ§ μ½μ§ μμ λ¬Έμλ§ μΆκ° μ‘°νν©λλ€.
|
|
59
|
+
- μλ κ²½μ°μλ μμΈμ μΌλ‘ μ¬μ‘°νν μ μμ΅λλ€:
|
|
60
|
+
- μ¬μ©μκ° μ μ±
μλ‘κ³ μΉ¨μ μμ²ν κ²½μ°
|
|
61
|
+
- `update` μ€ν λ±μΌλ‘ μ μ±
/μ€μ μ΄ λ³κ²½λ κ²½μ°
|
|
62
|
+
- μΈμ
μ΄ μλ‘ μμλμκ±°λ context μμΆ/리μ
μ΄ λ°μν κ²½μ°
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
54
66
|
## νμ μ°Έμ‘°
|
|
55
67
|
|
|
56
68
|
- μ΅μ°μ κ·μΉ: `/docs/agents/custom.md`
|
|
@@ -70,7 +70,7 @@ main
|
|
|
70
70
|
|
|
71
71
|
## μλν μν¬νλ‘μ°
|
|
72
72
|
|
|
73
|
-
> π λ¨κ³λ³ μμΈ κ°μ΄λλ `docs get
|
|
73
|
+
> π λ¨κ³λ³ μμΈ κ°μ΄λλ `docs get`μΌλ‘ νμΈνλ, κ°μ μΈμ
μμ μ΄λ―Έ μ½μ λμΌ λ¬Έμλ λ€μ νΈμΆνμ§ λ§μΈμ. (μΈμ
μμ/μμΆ ν, μ μ±
Β·μ€μ λ³κ²½, μ¬μ©μ μλ‘κ³ μΉ¨ μμ² μμλ§ μ¬μ‘°ν)
|
|
74
74
|
|
|
75
75
|
| μν¬νλ‘μ° | κ°μ΄λ |
|
|
76
76
|
| ------------ | -------------------------------------------------- |
|
|
@@ -15,10 +15,10 @@ GitHub Issueλ₯Ό μμ±ν λ λ°λ₯΄λ κ°μ΄λμ
λλ€.
|
|
|
15
15
|
|
|
16
16
|
### 1. μ΄μ μ΄μ μμ±
|
|
17
17
|
|
|
18
|
-
> π
|
|
18
|
+
> π **μ΄λ² μΈμ
μ μμ§ μ½μ§ μμλ€λ©΄ `docs get`μΌλ‘ μ μ°¨/ν
νλ¦Ώμ μ½κ³ , μ΄λ―Έ μ½μ λμΌ λ¬Έμλ μ¬νΈμΆνμ§ μμ μ± μ΄μμ μμ±ν΄ κΈ°μ€μΌλ‘ μ¬μ©νμΈμ.**
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
# 1) μ μ°¨/ν
νλ¦Ώ μ μ±
νμΈ
|
|
21
|
+
# 1) μ μ°¨/ν
νλ¦Ώ μ μ±
νμΈ (μ΄λ² μΈμ
λ―ΈνμΈ λ¬Έμλ§)
|
|
22
22
|
npx lee-spec-kit docs get create-issue --json
|
|
23
23
|
npx lee-spec-kit docs get issue-template --json
|
|
24
24
|
|
|
@@ -17,10 +17,10 @@ Pull Requestλ₯Ό μμ±ν λ λ°λ₯΄λ κ°μ΄λμ
λλ€.
|
|
|
17
17
|
|
|
18
18
|
### 1. PR λ³Έλ¬Έ ν
νλ¦Ώ μ€λΉ
|
|
19
19
|
|
|
20
|
-
> π
|
|
20
|
+
> π **μ΄λ² μΈμ
μ μμ§ μ½μ§ μμλ€λ©΄ `docs get`μΌλ‘ μ μ°¨/ν
νλ¦Ώμ μ½κ³ , μ΄λ―Έ μ½μ λμΌ λ¬Έμλ μ¬νΈμΆνμ§ μμ μ± λ³Έλ¬Έ ν
νλ¦Ώμ μμ±ν΄ κΈ°μ€μΌλ‘ μ¬μ©νμΈμ.**
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
# 1) μ μ°¨/ν
νλ¦Ώ μ μ±
νμΈ
|
|
23
|
+
# 1) μ μ°¨/ν
νλ¦Ώ μ μ±
νμΈ (μ΄λ² μΈμ
λ―ΈνμΈ λ¬Έμλ§)
|
|
24
24
|
npx lee-spec-kit docs get create-pr --json
|
|
25
25
|
npx lee-spec-kit docs get pr-template --json
|
|
26
26
|
|