@sk8metal/michi-cli 0.3.0 → 0.5.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/CHANGELOG.md +83 -0
- package/dist/scripts/__tests__/spec-impl-workflow.test.js +4 -2
- package/dist/scripts/__tests__/spec-impl-workflow.test.js.map +1 -1
- package/dist/scripts/config/config-schema.d.ts +52 -0
- package/dist/scripts/config/config-schema.d.ts.map +1 -1
- package/dist/scripts/config/config-schema.js +25 -0
- package/dist/scripts/config/config-schema.js.map +1 -1
- package/dist/scripts/config-global.d.ts +10 -0
- package/dist/scripts/config-global.d.ts.map +1 -0
- package/dist/scripts/config-global.js +111 -0
- package/dist/scripts/config-global.js.map +1 -0
- package/dist/scripts/confluence-sync.d.ts +22 -4
- package/dist/scripts/confluence-sync.d.ts.map +1 -1
- package/dist/scripts/confluence-sync.js +22 -12
- package/dist/scripts/confluence-sync.js.map +1 -1
- package/dist/scripts/jira-sync.d.ts.map +1 -1
- package/dist/scripts/jira-sync.js +201 -167
- package/dist/scripts/jira-sync.js.map +1 -1
- package/dist/scripts/list-projects.js.map +1 -1
- package/dist/scripts/multi-project-estimate.js.map +1 -1
- package/dist/scripts/phase-runner.d.ts +1 -1
- package/dist/scripts/phase-runner.d.ts.map +1 -1
- package/dist/scripts/phase-runner.js +295 -522
- package/dist/scripts/phase-runner.js.map +1 -1
- package/dist/scripts/pr-automation.d.ts.map +1 -1
- package/dist/scripts/pr-automation.js +11 -3
- package/dist/scripts/pr-automation.js.map +1 -1
- package/dist/scripts/pre-flight-check.d.ts.map +1 -1
- package/dist/scripts/pre-flight-check.js +10 -6
- package/dist/scripts/pre-flight-check.js.map +1 -1
- package/dist/scripts/resource-dashboard.js.map +1 -1
- package/dist/scripts/spec-impl-workflow.d.ts.map +1 -1
- package/dist/scripts/spec-impl-workflow.js +23 -7
- package/dist/scripts/spec-impl-workflow.js.map +1 -1
- package/dist/scripts/template/renderer.d.ts +1 -1
- package/dist/scripts/template/renderer.d.ts.map +1 -1
- package/dist/scripts/test-interactive.d.ts.map +1 -1
- package/dist/scripts/test-interactive.js +0 -15
- package/dist/scripts/test-interactive.js.map +1 -1
- package/dist/scripts/test-new-features.js +6 -3
- package/dist/scripts/test-new-features.js.map +1 -1
- package/dist/scripts/test-spec-generator.d.ts.map +1 -1
- package/dist/scripts/test-spec-generator.js +1 -2
- package/dist/scripts/test-spec-generator.js.map +1 -1
- package/dist/scripts/utils/__tests__/config-loader.test.js +114 -1
- package/dist/scripts/utils/__tests__/config-loader.test.js.map +1 -1
- package/dist/scripts/utils/__tests__/config-validator.test.js +2 -0
- package/dist/scripts/utils/__tests__/config-validator.test.js.map +1 -1
- package/dist/scripts/utils/__tests__/env-config.test.js +0 -2
- package/dist/scripts/utils/__tests__/env-config.test.js.map +1 -1
- package/dist/scripts/utils/__tests__/project-meta.test.d.ts +6 -0
- package/dist/scripts/utils/__tests__/project-meta.test.d.ts.map +1 -0
- package/dist/scripts/utils/__tests__/project-meta.test.js +154 -0
- package/dist/scripts/utils/__tests__/project-meta.test.js.map +1 -0
- package/dist/scripts/utils/__tests__/security-validator.test.d.ts +6 -0
- package/dist/scripts/utils/__tests__/security-validator.test.d.ts.map +1 -0
- package/dist/scripts/utils/__tests__/security-validator.test.js +219 -0
- package/dist/scripts/utils/__tests__/security-validator.test.js.map +1 -0
- package/dist/scripts/utils/config-loader.d.ts +14 -3
- package/dist/scripts/utils/config-loader.d.ts.map +1 -1
- package/dist/scripts/utils/config-loader.js +284 -46
- package/dist/scripts/utils/config-loader.js.map +1 -1
- package/dist/scripts/utils/config-sections.d.ts +54 -0
- package/dist/scripts/utils/config-sections.d.ts.map +1 -0
- package/dist/scripts/utils/config-sections.js +178 -0
- package/dist/scripts/utils/config-sections.js.map +1 -0
- package/dist/scripts/utils/config-validator.d.ts +4 -0
- package/dist/scripts/utils/config-validator.d.ts.map +1 -1
- package/dist/scripts/utils/config-validator.js +57 -1
- package/dist/scripts/utils/config-validator.js.map +1 -1
- package/dist/scripts/utils/confluence-approval.d.ts.map +1 -1
- package/dist/scripts/utils/confluence-approval.js +5 -3
- package/dist/scripts/utils/confluence-approval.js.map +1 -1
- package/dist/scripts/utils/confluence-hierarchy.d.ts.map +1 -1
- package/dist/scripts/utils/confluence-hierarchy.js.map +1 -1
- package/dist/scripts/utils/env-config.d.ts +1 -1
- package/dist/scripts/utils/env-config.d.ts.map +1 -1
- package/dist/scripts/utils/env-config.js +2 -14
- package/dist/scripts/utils/env-config.js.map +1 -1
- package/dist/scripts/utils/interactive-helpers.d.ts +32 -0
- package/dist/scripts/utils/interactive-helpers.d.ts.map +1 -0
- package/dist/scripts/utils/interactive-helpers.js +92 -0
- package/dist/scripts/utils/interactive-helpers.js.map +1 -0
- package/dist/scripts/utils/jira-issue-type-fetcher.d.ts.map +1 -1
- package/dist/scripts/utils/jira-issue-type-fetcher.js +27 -18
- package/dist/scripts/utils/jira-issue-type-fetcher.js.map +1 -1
- package/dist/scripts/utils/project-meta.d.ts +9 -0
- package/dist/scripts/utils/project-meta.d.ts.map +1 -1
- package/dist/scripts/utils/project-meta.js +22 -0
- package/dist/scripts/utils/project-meta.js.map +1 -1
- package/dist/scripts/utils/release-notes-generator.d.ts.map +1 -1
- package/dist/scripts/utils/release-notes-generator.js +2 -1
- package/dist/scripts/utils/release-notes-generator.js.map +1 -1
- package/dist/scripts/utils/security-validator.d.ts +55 -0
- package/dist/scripts/utils/security-validator.d.ts.map +1 -0
- package/dist/scripts/utils/security-validator.js +232 -0
- package/dist/scripts/utils/security-validator.js.map +1 -0
- package/dist/scripts/utils/spec-updater.d.ts +19 -0
- package/dist/scripts/utils/spec-updater.d.ts.map +1 -1
- package/dist/scripts/utils/spec-updater.js.map +1 -1
- package/dist/scripts/utils/tasks-converter.d.ts.map +1 -1
- package/dist/scripts/utils/tasks-converter.js +2 -2
- package/dist/scripts/utils/tasks-converter.js.map +1 -1
- package/dist/scripts/utils/tasks-format-validator.d.ts.map +1 -1
- package/dist/scripts/utils/tasks-format-validator.js +0 -12
- package/dist/scripts/utils/tasks-format-validator.js.map +1 -1
- package/dist/scripts/utils/test-runner.d.ts.map +1 -1
- package/dist/scripts/utils/test-runner.js +3 -2
- package/dist/scripts/utils/test-runner.js.map +1 -1
- package/dist/scripts/validate-phase.d.ts +1 -1
- package/dist/scripts/validate-phase.d.ts.map +1 -1
- package/dist/scripts/validate-phase.js +12 -62
- package/dist/scripts/validate-phase.js.map +1 -1
- package/dist/scripts/workflow-orchestrator.d.ts.map +1 -1
- package/dist/scripts/workflow-orchestrator.js +11 -16
- package/dist/scripts/workflow-orchestrator.js.map +1 -1
- package/dist/src/__tests__/integration/setup/init.test.d.ts +5 -0
- package/dist/src/__tests__/integration/setup/init.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/init.test.js +352 -0
- package/dist/src/__tests__/integration/setup/init.test.js.map +1 -0
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +67 -21
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/__tests__/init.test.d.ts +5 -0
- package/dist/src/commands/__tests__/init.test.d.ts.map +1 -0
- package/dist/src/commands/__tests__/init.test.js +255 -0
- package/dist/src/commands/__tests__/init.test.js.map +1 -0
- package/dist/src/commands/__tests__/migrate.test.d.ts +5 -0
- package/dist/src/commands/__tests__/migrate.test.d.ts.map +1 -0
- package/dist/src/commands/__tests__/migrate.test.js +216 -0
- package/dist/src/commands/__tests__/migrate.test.js.map +1 -0
- package/dist/src/commands/config-validate.d.ts +9 -0
- package/dist/src/commands/config-validate.d.ts.map +1 -0
- package/dist/src/commands/config-validate.js +90 -0
- package/dist/src/commands/config-validate.js.map +1 -0
- package/dist/src/commands/init.d.ts +29 -0
- package/dist/src/commands/init.d.ts.map +1 -0
- package/dist/src/commands/init.js +513 -0
- package/dist/src/commands/init.js.map +1 -0
- package/dist/src/commands/migrate.d.ts +25 -0
- package/dist/src/commands/migrate.d.ts.map +1 -0
- package/dist/src/commands/migrate.js +341 -0
- package/dist/src/commands/migrate.js.map +1 -0
- package/dist/src/commands/setup-existing.d.ts.map +1 -1
- package/dist/src/commands/setup-existing.js +0 -1
- package/dist/src/commands/setup-existing.js.map +1 -1
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +32 -8
- package/dist/vitest.config.js.map +1 -1
- package/docs/michi-development/design/config-unification.md +4789 -0
- package/docs/user-guide/getting-started/github-token-setup.md +2 -1
- package/docs/user-guide/getting-started/new-repository-setup.md +1 -1
- package/docs/user-guide/getting-started/quick-start.md +1 -1
- package/docs/user-guide/getting-started/setup.md +35 -14
- package/docs/user-guide/guides/customization.md +64 -11
- package/docs/user-guide/guides/workflow.md +35 -21
- package/docs/user-guide/hands-on/claude-agent-setup.md +2 -2
- package/docs/user-guide/hands-on/claude-setup.md +2 -2
- package/docs/user-guide/hands-on/cursor-setup.md +2 -2
- package/docs/user-guide/hands-on/workflow-walkthrough.md +4 -1
- package/docs/user-guide/reference/config.md +30 -5
- package/docs/user-guide/reference/quick-reference.md +68 -74
- package/docs/user-guide/testing/test-planning-flow.md +4 -0
- package/env.example +1 -1
- package/package.json +3 -5
- package/scripts/__tests__/spec-impl-workflow.test.ts +5 -2
- package/scripts/config/config-schema.ts +40 -0
- package/scripts/config-global.ts +160 -0
- package/scripts/confluence-sync.ts +91 -27
- package/scripts/jira-sync.ts +284 -218
- package/scripts/list-projects.ts +2 -2
- package/scripts/multi-project-estimate.ts +3 -3
- package/scripts/phase-runner.ts +391 -594
- package/scripts/pr-automation.ts +15 -5
- package/scripts/pre-flight-check.ts +20 -9
- package/scripts/pre-publish-check.sh +3 -34
- package/scripts/resource-dashboard.ts +4 -4
- package/scripts/spec-impl-workflow.ts +23 -7
- package/scripts/template/renderer.ts +1 -1
- package/scripts/test-interactive.ts +0 -19
- package/scripts/test-new-features.ts +10 -7
- package/scripts/test-npm-package.sh +3 -34
- package/scripts/test-spec-generator.ts +3 -7
- package/scripts/utils/__tests__/config-loader.test.ts +149 -0
- package/scripts/utils/__tests__/config-validator.test.ts +2 -0
- package/scripts/utils/__tests__/env-config.test.ts +0 -2
- package/scripts/utils/__tests__/project-meta.test.ts +192 -0
- package/scripts/utils/__tests__/security-validator.test.ts +272 -0
- package/scripts/utils/config-loader.ts +328 -68
- package/scripts/utils/config-sections.ts +316 -0
- package/scripts/utils/config-validator.ts +66 -1
- package/scripts/utils/confluence-approval.ts +8 -6
- package/scripts/utils/confluence-hierarchy.ts +27 -27
- package/scripts/utils/env-config.ts +2 -14
- package/scripts/utils/interactive-helpers.ts +135 -0
- package/scripts/utils/jira-issue-type-fetcher.ts +29 -21
- package/scripts/utils/project-meta.ts +27 -0
- package/scripts/utils/release-notes-generator.ts +3 -2
- package/scripts/utils/security-validator.ts +286 -0
- package/scripts/utils/spec-updater.ts +37 -15
- package/scripts/utils/tasks-converter.ts +4 -6
- package/scripts/utils/tasks-format-validator.ts +0 -13
- package/scripts/utils/test-runner.ts +4 -3
- package/scripts/validate-phase.ts +21 -80
- package/scripts/workflow-orchestrator.ts +16 -25
- package/templates/claude/commands/kiro/kiro-spec-impl.md +5 -1
- package/templates/claude/commands/kiro/kiro-spec-tasks.md +3 -1
- package/templates/claude/commands/michi/confluence-sync.md +8 -2
- package/templates/claude/commands/michi/design-review.md +4 -0
- package/templates/claude/commands/michi/e2e-plan.md +4 -0
- package/templates/claude/commands/michi/license-check.md +4 -0
- package/templates/claude/commands/michi/pr-resolve.md +4 -0
- package/templates/claude/commands/michi/project-switch.md +8 -2
- package/templates/claude/commands/michi/spec-design.md +78 -0
- package/templates/claude/commands/michi/spec-impl.md +716 -0
- package/templates/claude/commands/michi/test-planning.md +174 -0
- package/templates/claude/commands/michi/validate-design.md +58 -0
- package/templates/claude/commands/michi/version-audit.md +4 -0
- package/templates/claude-agent/commands/kiro/kiro-spec-impl.md +1 -1
- package/templates/cursor/commands/kiro/kiro-spec-impl.md +1 -1
- package/templates/michi/cc-sdd-overrides/README.md +8 -0
- package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +53 -0
- package/dist/scripts/config-interactive.d.ts +0 -10
- package/dist/scripts/config-interactive.d.ts.map +0 -1
- package/dist/scripts/config-interactive.js +0 -372
- package/dist/scripts/config-interactive.js.map +0 -1
- package/dist/scripts/setup-existing-project.d.ts +0 -15
- package/dist/scripts/setup-existing-project.d.ts.map +0 -1
- package/dist/scripts/setup-existing-project.js +0 -455
- package/dist/scripts/setup-existing-project.js.map +0 -1
- package/dist/scripts/setup-interactive.d.ts +0 -10
- package/dist/scripts/setup-interactive.d.ts.map +0 -1
- package/dist/scripts/setup-interactive.js +0 -413
- package/dist/scripts/setup-interactive.js.map +0 -1
- package/scripts/config-interactive.ts +0 -550
- package/scripts/setup-existing-project.ts +0 -585
- package/scripts/setup-interactive.ts +0 -565
|
@@ -17,6 +17,56 @@ import { updateSpecJsonAfterConfluenceSync, loadSpecJson } from './utils/spec-up
|
|
|
17
17
|
// 環境変数読み込み
|
|
18
18
|
config();
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Confluence APIページレスポンス
|
|
22
|
+
*/
|
|
23
|
+
export interface ConfluencePage {
|
|
24
|
+
id: string;
|
|
25
|
+
title: string;
|
|
26
|
+
type: string;
|
|
27
|
+
version?: {
|
|
28
|
+
number: number;
|
|
29
|
+
};
|
|
30
|
+
_links?: {
|
|
31
|
+
webui: string;
|
|
32
|
+
};
|
|
33
|
+
ancestors?: Array<{ id: string }>;
|
|
34
|
+
results?: ConfluencePage[];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Confluenceエラーオブジェクト
|
|
39
|
+
*/
|
|
40
|
+
interface ConfluenceError extends Error {
|
|
41
|
+
response?: {
|
|
42
|
+
status: number;
|
|
43
|
+
data: unknown;
|
|
44
|
+
};
|
|
45
|
+
config?: {
|
|
46
|
+
url?: string;
|
|
47
|
+
params?: unknown;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Confluenceページ作成ペイロード
|
|
53
|
+
*/
|
|
54
|
+
interface ConfluenceCreatePagePayload {
|
|
55
|
+
type: 'page';
|
|
56
|
+
title: string;
|
|
57
|
+
space: { key: string };
|
|
58
|
+
body: {
|
|
59
|
+
storage: {
|
|
60
|
+
value: string;
|
|
61
|
+
representation: 'storage';
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
metadata: {
|
|
65
|
+
labels: Array<{ name: string }>;
|
|
66
|
+
};
|
|
67
|
+
ancestors?: Array<{ id: string }>;
|
|
68
|
+
}
|
|
69
|
+
|
|
20
70
|
/**
|
|
21
71
|
* リクエスト間のスリープ処理(レートリミット対策)
|
|
22
72
|
*/
|
|
@@ -75,7 +125,7 @@ class ConfluenceClient {
|
|
|
75
125
|
* @param title ページタイトル
|
|
76
126
|
* @param parentId 親ページID(オプション)。指定された場合、その親ページの子ページのみを検索
|
|
77
127
|
*/
|
|
78
|
-
async searchPage(spaceKey: string, title: string, parentId?: string): Promise<
|
|
128
|
+
async searchPage(spaceKey: string, title: string, parentId?: string): Promise<ConfluencePage | null> {
|
|
79
129
|
// レートリミット対策: リクエスト前に待機
|
|
80
130
|
await sleep(this.requestDelay);
|
|
81
131
|
|
|
@@ -129,27 +179,34 @@ class ConfluenceClient {
|
|
|
129
179
|
}
|
|
130
180
|
|
|
131
181
|
return null;
|
|
132
|
-
} catch (error:
|
|
182
|
+
} catch (error: unknown) {
|
|
183
|
+
const isAxiosError = axios.isAxiosError(error);
|
|
184
|
+
|
|
133
185
|
// 404エラーは既存ページがないことを意味するので、nullを返す
|
|
134
|
-
if (error.response?.status === 404) {
|
|
186
|
+
if (isAxiosError && error.response?.status === 404) {
|
|
135
187
|
return null;
|
|
136
188
|
}
|
|
137
|
-
|
|
189
|
+
|
|
138
190
|
// その他のエラーは詳細をログ出力
|
|
139
|
-
|
|
140
|
-
|
|
191
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
192
|
+
console.error('Error searching page:', message);
|
|
193
|
+
|
|
194
|
+
if (isAxiosError && error.response) {
|
|
141
195
|
console.error(' Status:', error.response.status);
|
|
142
196
|
console.error(' Data:', JSON.stringify(error.response.data, null, 2));
|
|
143
197
|
}
|
|
144
|
-
|
|
198
|
+
|
|
145
199
|
// 404以外のエラーは再スロー(認証、権限、ネットワーク、サーバーエラーなど)
|
|
146
200
|
// エラーの詳細情報を含めて再スロー
|
|
147
|
-
if (error.response) {
|
|
201
|
+
if (isAxiosError && error.response) {
|
|
148
202
|
// HTTPレスポンスがある場合(4xx/5xxエラー)
|
|
149
|
-
const enhancedError = new Error(
|
|
150
|
-
`Confluence API error: ${
|
|
203
|
+
const enhancedError: ConfluenceError = new Error(
|
|
204
|
+
`Confluence API error: ${message} (status: ${error.response.status})`
|
|
151
205
|
);
|
|
152
|
-
|
|
206
|
+
enhancedError.response = {
|
|
207
|
+
status: error.response.status,
|
|
208
|
+
data: error.response.data
|
|
209
|
+
};
|
|
153
210
|
throw enhancedError;
|
|
154
211
|
} else {
|
|
155
212
|
// ネットワークエラーなど、レスポンスがない場合
|
|
@@ -161,11 +218,11 @@ class ConfluenceClient {
|
|
|
161
218
|
/**
|
|
162
219
|
* ページを作成
|
|
163
220
|
*/
|
|
164
|
-
async createPage(spaceKey: string, title: string, content: string, labels: string[] = [], parentId?: string): Promise<
|
|
221
|
+
async createPage(spaceKey: string, title: string, content: string, labels: string[] = [], parentId?: string): Promise<ConfluencePage> {
|
|
165
222
|
// レートリミット対策: リクエスト前に待機
|
|
166
223
|
await sleep(this.requestDelay);
|
|
167
|
-
|
|
168
|
-
const payload:
|
|
224
|
+
|
|
225
|
+
const payload: ConfluenceCreatePagePayload = {
|
|
169
226
|
type: 'page',
|
|
170
227
|
title,
|
|
171
228
|
space: { key: spaceKey },
|
|
@@ -204,14 +261,14 @@ class ConfluenceClient {
|
|
|
204
261
|
content: string,
|
|
205
262
|
labels: string[] = [],
|
|
206
263
|
parentId: string
|
|
207
|
-
): Promise<
|
|
264
|
+
): Promise<ConfluencePage> {
|
|
208
265
|
return this.createPage(spaceKey, title, content, labels, parentId);
|
|
209
266
|
}
|
|
210
267
|
|
|
211
268
|
/**
|
|
212
269
|
* ページを更新
|
|
213
270
|
*/
|
|
214
|
-
async updatePage(pageId: string, title: string, content: string, version: number): Promise<
|
|
271
|
+
async updatePage(pageId: string, title: string, content: string, version: number): Promise<ConfluencePage> {
|
|
215
272
|
// レートリミット対策: リクエスト前に待機
|
|
216
273
|
await sleep(this.requestDelay);
|
|
217
274
|
|
|
@@ -264,25 +321,32 @@ class ConfluenceClient {
|
|
|
264
321
|
}
|
|
265
322
|
|
|
266
323
|
return null; // ルートページ
|
|
267
|
-
} catch (error:
|
|
324
|
+
} catch (error: unknown) {
|
|
325
|
+
const isAxiosError = axios.isAxiosError(error);
|
|
326
|
+
|
|
268
327
|
// 404エラーはページが存在しないことを意味する
|
|
269
|
-
if (error.response?.status === 404) {
|
|
328
|
+
if (isAxiosError && error.response?.status === 404) {
|
|
270
329
|
return null;
|
|
271
330
|
}
|
|
272
|
-
|
|
331
|
+
|
|
273
332
|
// その他のエラーは詳細をログ出力
|
|
274
|
-
|
|
275
|
-
|
|
333
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
334
|
+
console.error('Error getting page parent:', message);
|
|
335
|
+
|
|
336
|
+
if (isAxiosError && error.response) {
|
|
276
337
|
console.error(' Status:', error.response.status);
|
|
277
338
|
console.error(' Data:', JSON.stringify(error.response.data, null, 2));
|
|
278
339
|
}
|
|
279
|
-
|
|
340
|
+
|
|
280
341
|
// 404以外のエラーは再スロー
|
|
281
|
-
if (error.response) {
|
|
282
|
-
const enhancedError = new Error(
|
|
283
|
-
`Confluence API error: ${
|
|
342
|
+
if (isAxiosError && error.response) {
|
|
343
|
+
const enhancedError: ConfluenceError = new Error(
|
|
344
|
+
`Confluence API error: ${message} (status: ${error.response.status})`
|
|
284
345
|
);
|
|
285
|
-
|
|
346
|
+
enhancedError.response = {
|
|
347
|
+
status: error.response.status,
|
|
348
|
+
data: error.response.data
|
|
349
|
+
};
|
|
286
350
|
throw enhancedError;
|
|
287
351
|
} else {
|
|
288
352
|
throw error;
|
|
@@ -454,7 +518,7 @@ if (import.meta.url === `file://${process.argv[1]}`) {
|
|
|
454
518
|
}
|
|
455
519
|
|
|
456
520
|
const featureName = args[0];
|
|
457
|
-
const docType = (args[1] as
|
|
521
|
+
const docType = (args[1] as 'requirements' | 'design' | 'tasks' | undefined) || 'requirements';
|
|
458
522
|
|
|
459
523
|
syncToConfluence(featureName, docType)
|
|
460
524
|
.then(() => {
|