create-specment 0.2.8 → 0.3.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.
Files changed (174) hide show
  1. package/bin/commands/create.d.ts +0 -1
  2. package/bin/constants/languages.d.ts +0 -1
  3. package/bin/core/interactive-setup.d.ts +0 -1
  4. package/bin/core/interactive-setup.js +17 -10
  5. package/bin/core/interactive-setup.js.map +1 -1
  6. package/bin/core/interactive-setup.test.d.ts +0 -1
  7. package/bin/core/interactive-setup.test.js +7 -7
  8. package/bin/core/interactive-setup.test.js.map +1 -1
  9. package/bin/core/project-generator.d.ts +0 -1
  10. package/bin/core/project-generator.js +5 -8
  11. package/bin/core/project-generator.js.map +1 -1
  12. package/bin/features/index.d.ts +0 -1
  13. package/bin/features/index.js +15 -13
  14. package/bin/features/index.js.map +1 -1
  15. package/bin/generators/docusaurus-config.d.ts +0 -1
  16. package/bin/generators/docusaurus-config.js +211 -264
  17. package/bin/generators/docusaurus-config.js.map +1 -1
  18. package/bin/generators/package-json.d.ts +0 -1
  19. package/bin/generators/package-json.js +45 -91
  20. package/bin/generators/package-json.js.map +1 -1
  21. package/bin/generators/template-files.d.ts +0 -1
  22. package/bin/generators/template-files.js +625 -229
  23. package/bin/generators/template-files.js.map +1 -1
  24. package/bin/index.d.ts +0 -1
  25. package/bin/index.js.map +1 -1
  26. package/bin/templates/index.d.ts +0 -1
  27. package/bin/templates/index.js +36 -24
  28. package/bin/templates/index.js.map +1 -1
  29. package/bin/tests/integration.test.d.ts +0 -1
  30. package/bin/tests/integration.test.js +34 -34
  31. package/bin/tests/integration.test.js.map +1 -1
  32. package/bin/types/index.d.ts +1 -21
  33. package/bin/utils/config-merger.d.ts +0 -1
  34. package/bin/utils/config-merger.js +0 -1
  35. package/bin/utils/config-merger.js.map +1 -1
  36. package/bin/utils/errors.d.ts +0 -1
  37. package/bin/utils/install.d.ts +0 -1
  38. package/bin/utils/install.js +3 -3
  39. package/bin/utils/install.js.map +1 -1
  40. package/bin/utils/message-formatter.d.ts +0 -1
  41. package/bin/utils/template-processor.d.ts +0 -1
  42. package/bin/utils/template-processor.js +2 -3
  43. package/bin/utils/template-processor.js.map +1 -1
  44. package/bin/utils/template-processor.test.d.ts +0 -1
  45. package/bin/utils/template-processor.test.js +22 -22
  46. package/bin/utils/template-processor.test.js.map +1 -1
  47. package/bin/utils/version.d.ts +0 -1
  48. package/bin/utils/version.js +3 -3
  49. package/bin/utils/version.js.map +1 -1
  50. package/package.json +2 -7
  51. package/templates/docs/01-overview/_assumptions-constraints.mdx +19 -0
  52. package/templates/docs/01-overview/_business-context.mdx +18 -0
  53. package/templates/docs/01-overview/_firm-proposal.mdx +52 -0
  54. package/templates/docs/01-overview/_gap-analysis.mdx +18 -0
  55. package/templates/docs/01-overview/_project/342/200/221charter.mdx +23 -0
  56. package/templates/docs/01-overview/_requirements-specification.mdx +73 -0
  57. package/templates/docs/01-overview/_risks.mdx +16 -0
  58. package/templates/docs/01-overview/_scope.mdx +24 -0
  59. package/templates/docs/01-overview/_stakeholders.mdx +24 -0
  60. package/templates/docs/01-overview/as-is.mdx +64 -0
  61. package/templates/docs/01-overview/glossary.mdx +41 -0
  62. package/templates/docs/01-overview/index.mdx +41 -0
  63. package/templates/docs/01-overview/odsc.mdx +72 -0
  64. package/templates/docs/01-overview/roadmap.mdx +27 -0
  65. package/templates/docs/01-overview/system-context.mdx +22 -0
  66. package/templates/docs/01-overview/to-be.mdx +102 -0
  67. package/templates/docs/02-requirements/_category_.yaml +2 -0
  68. package/templates/docs/02-requirements/functional/_category_.json +8 -0
  69. package/templates/docs/02-requirements/functional/_req-template.mdx +46 -0
  70. package/templates/docs/02-requirements/functional/req-001.mdx +52 -0
  71. package/templates/docs/02-requirements/index.mdx +14 -0
  72. package/templates/docs/02-requirements/non-functional/_category_.json +8 -0
  73. package/templates/docs/02-requirements/non-functional/_nfr-template.mdx +42 -0
  74. package/templates/docs/02-requirements/non-functional/nfr-001.mdx +57 -0
  75. package/templates/docs/02-requirements/non-functional/nfr-002.mdx +57 -0
  76. package/templates/docs/03-external/business-model.mdx +14 -0
  77. package/templates/docs/03-external/img/business-model-by-claude.xml +107 -0
  78. package/templates/docs/03-external/img/business-model.xml +84 -0
  79. package/templates/docs/03-external/img/docsVersionDropdown.png +0 -0
  80. package/templates/docs/03-external/img/gantt.xml +1 -0
  81. package/templates/docs/03-external/img/localeDropdown.png +0 -0
  82. package/templates/docs/03-external/index.mdx +46 -0
  83. package/templates/docs/04-internal/batches/_category_.yaml +2 -0
  84. package/templates/docs/04-internal/batches/import-products.mdx +64 -0
  85. package/templates/docs/04-internal/batches/index.mdx +25 -0
  86. package/templates/docs/04-internal/index.mdx +32 -0
  87. package/templates/docs/04-internal/policies/_category_.yaml +2 -0
  88. package/templates/docs/04-internal/policies/branch-naming-rules.mdx +110 -0
  89. package/templates/docs/04-internal/policies/github.mdx +100 -0
  90. package/templates/docs/04-internal/policies/pull-request-operation-flow.mdx +118 -0
  91. package/templates/docs/04-internal/rules/_category_.yaml +2 -0
  92. package/templates/docs/04-internal/rules/database.mdx +139 -0
  93. package/templates/docs/04-internal/rules/document-creation-rules.mdx +39 -0
  94. package/templates/docs/04-internal/rules/index.mdx +10 -0
  95. package/templates/docs/04-internal/rules/markdown.mdx +148 -0
  96. package/templates/docs/04-internal/rules/review-process.mdx +32 -0
  97. package/templates/docs/04-internal/screens/_category_.yaml +2 -0
  98. package/templates/docs/04-internal/screens/dashboard.mdx +17 -0
  99. package/templates/docs/04-internal/screens/index.mdx +20 -0
  100. package/templates/docs/04-internal/screens/login.mdx +18 -0
  101. package/templates/docs/04-internal/screens/menu.mdx +17 -0
  102. package/templates/docs/04-internal/tables/_category_.yaml +2 -0
  103. package/templates/docs/04-internal/tables/customer_details.mdx +35 -0
  104. package/templates/docs/04-internal/tables/customers.mdx +35 -0
  105. package/templates/docs/04-internal/tables/index.mdx +11 -0
  106. package/templates/docs/index.module.css +96 -0
  107. package/templates/docs/index.tsx +48 -0
  108. package/templates/docs/intro.md +47 -0
  109. package/templates/docs/introduction/document-editing/_category_.yml +2 -0
  110. package/templates/docs/introduction/document-editing/how-to.mdx +31 -0
  111. package/templates/docs/introduction/index.mdx +35 -0
  112. package/templates/docs/introduction/operational-policies/_category_.yaml +2 -0
  113. package/templates/docs/introduction/operational-policies/github.mdx +33 -0
  114. package/templates/docs/introduction/operational-policies/img/branch-naming-rules.svg +73 -0
  115. package/templates/docs/introduction/operational-policies/sharepoint.mdx +28 -0
  116. package/templates/package.json.template +46 -0
  117. package/templates/src/components/Highlight/index.tsx +68 -0
  118. package/templates/src/components/PriorityMatrix/index.tsx +97 -0
  119. package/templates/src/components/TBD/index.tsx +16 -0
  120. package/templates/src/css/custom.css +81 -0
  121. package/templates/src/types/requirements.ts +19 -0
  122. package/templates/static/img/business-model.drawio.svg +4 -0
  123. package/templates/static/img/gantt.drawio.svg +1152 -0
  124. package/templates/static/img/logo.svg +21 -0
  125. package/bin/commands/create.d.ts.map +0 -1
  126. package/bin/constants/languages.d.ts.map +0 -1
  127. package/bin/core/interactive-setup.d.ts.map +0 -1
  128. package/bin/core/interactive-setup.test.d.ts.map +0 -1
  129. package/bin/core/project-generator.d.ts.map +0 -1
  130. package/bin/features/index.d.ts.map +0 -1
  131. package/bin/generators/docusaurus-config.d.ts.map +0 -1
  132. package/bin/generators/package-json.d.ts.map +0 -1
  133. package/bin/generators/template-files.d.ts.map +0 -1
  134. package/bin/index.d.ts.map +0 -1
  135. package/bin/plugins/i18n-integration.d.ts +0 -25
  136. package/bin/plugins/i18n-integration.d.ts.map +0 -1
  137. package/bin/plugins/i18n-integration.js +0 -310
  138. package/bin/plugins/i18n-integration.js.map +0 -1
  139. package/bin/plugins/plantuml-integration.d.ts +0 -17
  140. package/bin/plugins/plantuml-integration.d.ts.map +0 -1
  141. package/bin/plugins/plantuml-integration.js +0 -112
  142. package/bin/plugins/plantuml-integration.js.map +0 -1
  143. package/bin/plugins/redoc-integration.d.ts +0 -25
  144. package/bin/plugins/redoc-integration.d.ts.map +0 -1
  145. package/bin/plugins/redoc-integration.js +0 -373
  146. package/bin/plugins/redoc-integration.js.map +0 -1
  147. package/bin/plugins/search-integration.d.ts +0 -20
  148. package/bin/plugins/search-integration.d.ts.map +0 -1
  149. package/bin/plugins/search-integration.js +0 -169
  150. package/bin/plugins/search-integration.js.map +0 -1
  151. package/bin/templates/index.d.ts.map +0 -1
  152. package/bin/templates/template-definitions.d.ts +0 -10
  153. package/bin/templates/template-definitions.d.ts.map +0 -1
  154. package/bin/templates/template-definitions.js +0 -517
  155. package/bin/templates/template-definitions.js.map +0 -1
  156. package/bin/tests/integration.test.d.ts.map +0 -1
  157. package/bin/types/index.d.ts.map +0 -1
  158. package/bin/utils/config-merger.d.ts.map +0 -1
  159. package/bin/utils/errors.d.ts.map +0 -1
  160. package/bin/utils/install.d.ts.map +0 -1
  161. package/bin/utils/message-formatter.d.ts.map +0 -1
  162. package/bin/utils/template-processor.d.ts.map +0 -1
  163. package/bin/utils/template-processor.test.d.ts.map +0 -1
  164. package/bin/utils/version.d.ts.map +0 -1
  165. package/templates/classic-spec/docusaurus.config.js.template +0 -106
  166. package/templates/classic-spec/package.json.template +0 -36
  167. package/templates/external-design/docusaurus.config.js.template +0 -123
  168. package/templates/external-design/package.json.template +0 -36
  169. package/templates/internal-design/docusaurus.config.js.template +0 -123
  170. package/templates/internal-design/package.json.template +0 -36
  171. package/templates/project-analysis/docusaurus.config.js.template +0 -113
  172. package/templates/project-analysis/package.json.template +0 -36
  173. package/templates/requirements/docusaurus.config.js.template +0 -119
  174. package/templates/requirements/package.json.template +0 -36
@@ -1,6 +1,6 @@
1
1
  import { describe, it, expect, beforeEach } from 'vitest';
2
2
  import { TemplateProcessor, createTemplateProcessor } from './template-processor.js';
3
- describe('TemplateProcessor', () => {
3
+ describe('テンプレートプロセッサー', () => {
4
4
  let processor;
5
5
  beforeEach(() => {
6
6
  processor = new TemplateProcessor({
@@ -9,45 +9,45 @@ describe('TemplateProcessor', () => {
9
9
  email: 'test@example.com',
10
10
  });
11
11
  });
12
- describe('processTemplate', () => {
13
- it('should replace simple variables', () => {
12
+ describe('テンプレート処理', () => {
13
+ it('単純な変数を置換できること', () => {
14
14
  const template = 'Hello {{projectName}}!';
15
15
  const result = processor.processTemplate(template);
16
16
  expect(result).toBe('Hello test-project!');
17
17
  });
18
- it('should replace multiple variables', () => {
18
+ it('複数の変数を置換できること', () => {
19
19
  const template = 'Project: {{projectName}}, Author: {{author}}';
20
20
  const result = processor.processTemplate(template);
21
21
  expect(result).toBe('Project: test-project, Author: Test Author');
22
22
  });
23
- it('should handle undefined variables gracefully', () => {
23
+ it('未定義変数を適切に処理できること', () => {
24
24
  const template = 'Hello {{unknownVariable}}!';
25
25
  const result = processor.processTemplate(template);
26
26
  expect(result).toBe('Hello {{unknownVariable}}!');
27
27
  });
28
- it('should handle templates with no variables', () => {
28
+ it('変数のないテンプレートを処理できること', () => {
29
29
  const template = 'This is a plain text template';
30
30
  const result = processor.processTemplate(template);
31
31
  expect(result).toBe('This is a plain text template');
32
32
  });
33
- it('should handle empty template', () => {
33
+ it('空のテンプレートを処理できること', () => {
34
34
  const template = '';
35
35
  const result = processor.processTemplate(template);
36
36
  expect(result).toBe('');
37
37
  });
38
- it('should handle malformed variable syntax', () => {
38
+ it('不正な変数構文を処理できること', () => {
39
39
  const template = 'Hello {projectName} and {{author}';
40
40
  const result = processor.processTemplate(template);
41
41
  expect(result).toBe('Hello {projectName} and {{author}');
42
42
  });
43
43
  });
44
- describe('setVariable and setVariables', () => {
45
- it('should set single variable', () => {
44
+ describe('変数設定', () => {
45
+ it('単一変数を設定できること', () => {
46
46
  processor.setVariable('customVar', 'custom value');
47
47
  const result = processor.processTemplate('{{customVar}}');
48
48
  expect(result).toBe('custom value');
49
49
  });
50
- it('should set multiple variables', () => {
50
+ it('複数変数を設定できること', () => {
51
51
  processor.setVariables({
52
52
  var1: 'value1',
53
53
  var2: 'value2',
@@ -55,14 +55,14 @@ describe('TemplateProcessor', () => {
55
55
  const result = processor.processTemplate('{{var1}} and {{var2}}');
56
56
  expect(result).toBe('value1 and value2');
57
57
  });
58
- it('should override existing variables', () => {
58
+ it('既存変数を上書きできること', () => {
59
59
  processor.setVariable('projectName', 'new-project-name');
60
60
  const result = processor.processTemplate('{{projectName}}');
61
61
  expect(result).toBe('new-project-name');
62
62
  });
63
63
  });
64
- describe('generateDerivedVariables', () => {
65
- it('should generate derived variables from project name', () => {
64
+ describe('派生変数生成', () => {
65
+ it('プロジェクト名から派生変数を生成できること', () => {
66
66
  const processor = new TemplateProcessor({ projectName: 'my-awesome-project' });
67
67
  processor.generateDerivedVariables();
68
68
  const variables = processor.getVariables();
@@ -71,7 +71,7 @@ describe('TemplateProcessor', () => {
71
71
  expect(variables.projectNameConstant).toBe('MY_AWESOME_PROJECT');
72
72
  expect(variables.projectNameKebab).toBe('my-awesome-project');
73
73
  });
74
- it('should handle single word project names', () => {
74
+ it('単語のプロジェクト名を処理できること', () => {
75
75
  const processor = new TemplateProcessor({ projectName: 'project' });
76
76
  processor.generateDerivedVariables();
77
77
  const variables = processor.getVariables();
@@ -81,35 +81,35 @@ describe('TemplateProcessor', () => {
81
81
  expect(variables.projectNameKebab).toBe('project');
82
82
  });
83
83
  });
84
- describe('default variables', () => {
85
- it('should set default date and year', () => {
84
+ describe('デフォルト変数', () => {
85
+ it('デフォルトの日付と年を設定できること', () => {
86
86
  const processor = new TemplateProcessor({});
87
87
  const variables = processor.getVariables();
88
88
  expect(variables.date).toMatch(/^\d{4}-\d{2}-\d{2}$/); // YYYY-MM-DD format
89
89
  expect(variables.year).toMatch(/^\d{4}$/); // YYYY format
90
90
  });
91
- it('should set default project name', () => {
91
+ it('デフォルトのプロジェクト名を設定できること', () => {
92
92
  const processor = new TemplateProcessor({});
93
93
  const variables = processor.getVariables();
94
94
  expect(variables.projectName).toBe('my-project');
95
95
  });
96
96
  });
97
97
  });
98
- describe('createTemplateProcessor', () => {
99
- it('should create processor with project name', async () => {
98
+ describe('テンプレートプロセッサー作成', () => {
99
+ it('プロジェクト名でプロセッサーを作成できること', async () => {
100
100
  const processor = await createTemplateProcessor('test-project');
101
101
  const variables = processor.getVariables();
102
102
  expect(variables.projectName).toBe('test-project');
103
103
  expect(variables.description).toBe('Documentation for test-project');
104
104
  });
105
- it('should include derived variables', async () => {
105
+ it('派生変数を含むこと', async () => {
106
106
  const processor = await createTemplateProcessor('my-test-project');
107
107
  const variables = processor.getVariables();
108
108
  expect(variables.projectNameCamel).toBe('myTestProject');
109
109
  expect(variables.projectNamePascal).toBe('MyTestProject');
110
110
  expect(variables.projectNameConstant).toBe('MY_TEST_PROJECT');
111
111
  });
112
- it('should accept additional variables', async () => {
112
+ it('追加変数を受け入れること', async () => {
113
113
  const processor = await createTemplateProcessor('test-project', {
114
114
  customVar: 'custom value',
115
115
  });
@@ -1 +1 @@
1
- {"version":3,"file":"template-processor.test.js","sourceRoot":"","sources":["../../src/utils/template-processor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-processor.test.js","sourceRoot":"","sources":["../../src/utils/template-processor.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
1
  export declare const version: any;
2
- //# sourceMappingURL=version.d.ts.map
@@ -1,6 +1,6 @@
1
- import { readFileSync } from 'node:fs';
2
- import { fileURLToPath } from 'node:url';
3
- import { dirname, join } from 'node:path';
1
+ import { readFileSync } from 'fs';
2
+ import { fileURLToPath } from 'url';
3
+ import { dirname, join } from 'path';
4
4
  const __filename = fileURLToPath(import.meta.url);
5
5
  const __dirname = dirname(__filename);
6
6
  // Read version from package.json
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,iCAAiC;AACjC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,iCAAiC;AACjC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-specment",
3
- "version": "0.2.8",
3
+ "version": "0.3.0",
4
4
  "description": "Interactive CLI tool for creating Docusaurus-based specification documentation projects",
5
5
  "type": "module",
6
6
  "author": "Plenarc",
@@ -39,17 +39,12 @@
39
39
  "typecheck": "tsc --noEmit"
40
40
  },
41
41
  "dependencies": {
42
- "@antfu/ni": "^28.0.0",
43
42
  "@clack/prompts": "^0.11.0",
44
43
  "chalk": "^5.6.2",
45
- "commander": "^14.0.2",
46
- "fs-extra": "^11.3.3",
47
- "inquirer": "^13.1.0"
44
+ "commander": "^14.0.2"
48
45
  },
49
46
  "devDependencies": {
50
47
  "@biomejs/biome": "^2.3.10",
51
- "@types/fs-extra": "^11.0.4",
52
- "@types/inquirer": "^9.0.9",
53
48
  "@types/node": "^25.0.3",
54
49
  "typescript": "^5.9.3",
55
50
  "vitest": "^4.0.16"
@@ -0,0 +1,19 @@
1
+ ---
2
+ sidebar_position: 9
3
+ tags:
4
+ - Overview
5
+ - Constraints
6
+ ---
7
+
8
+ # 前提条件と制約 {#assumptions-constraints}
9
+
10
+ ## 前提条件 (Assumptions) {#assumptions}
11
+ 1. CDNが利用可能
12
+ 1. チーム人数は最小5名確保
13
+
14
+ ## 制約条件 (Constraints) {#constraints}
15
+ 1. 既存基盤はPHP8.2固定
16
+ 1. ガイドライン遵守: PCI-DSS v4.0
17
+
18
+ ## 変更管理ポリシー {#change-policy}
19
+ 1. 重大変更は Change Request Form 提出必須
@@ -0,0 +1,18 @@
1
+ ---
2
+ sidebar_position: 7
3
+ tags:
4
+ - Overview
5
+ - Business
6
+ ---
7
+
8
+ # ビジネスコンテキスト {#business-context}
9
+
10
+ ## 問題定義 {#problem-statement}
11
+ 1. 例: 離脱率が25% → 業界平均の15%より高い
12
+
13
+ ## 市場・競合調査サマリ {#market}
14
+ 1. 競合A: UI/UX優位、配達24h以内
15
+ 1. 競合B: 価格競争力 …
16
+
17
+ ## ユーザ調査サマリ {#user-research}
18
+ 1. ペルソナごとの痛点一覧
@@ -0,0 +1,52 @@
1
+ ---
2
+ sidebar_position: 7
3
+ ---
4
+ # 提案依頼書(RFP)
5
+ ## プロジェクト概要
6
+ ### 背景
7
+ プロジェクトの背景について簡単に説明します。なぜこのプロジェクトが必要なのか、現在の状況や課題などを記載します
8
+
9
+ ### 目的
10
+ プロジェクトの目的や期待される成果を明確にします
11
+
12
+ ### スコープ
13
+ プロジェクトの範囲を明示します。含まれる内容と含まれない内容を具体的に記載します
14
+
15
+ ## 提案内容の要件
16
+ ### 提案内容
17
+ 提案者に求める具体的な内容や項目を記載します。例えば、技術的アプローチ、使用する技術、提供するサービスなど
18
+
19
+ ### 納期
20
+ プロジェクトの主要なマイルストーンや納期を記載します
21
+
22
+ ### 予算
23
+ 予算の範囲や費用の見積もりに関する情報を記載します
24
+
25
+ ### 提出物
26
+ 提案者に提出を求める書類や情報を記載します。例えば、技術仕様書、プロジェクト計画書、過去の実績など
27
+
28
+ ## 評価基準
29
+ ### 評価方法
30
+ 提案を評価する方法や基準について記載します。例えば、技術力、価格、実績など
31
+
32
+ ### 評価項目
33
+ 評価する具体的な項目を列挙します。例えば、提案の独自性、コストパフォーマンス、納期の順守など
34
+
35
+ ## スケジュール
36
+ ### 提案書提出期限
37
+ 提案書の提出期限を記載します
38
+
39
+ ### 質疑応答期間
40
+ 提案者からの質問を受け付ける期間を記載します
41
+
42
+ ### 選定スケジュール
43
+ 提案の評価・選定のスケジュールを記載します
44
+
45
+ ## 連絡先
46
+
47
+ ### 担当者情報
48
+ 提案依頼書に関する問い合わせ先の担当者情報を記載します
49
+ 1. 氏名
50
+ 1. 役職
51
+ 1. 会社名
52
+ 1. 連絡先(電話番号、メールアドレス)
@@ -0,0 +1,18 @@
1
+ ---
2
+ sidebar_position: 10
3
+ tags:
4
+ - Overview
5
+ - Gap
6
+ ---
7
+
8
+ # ギャップ分析 {#gap-analysis}
9
+
10
+ ## As-Is vs To-Be 一覧 {#gap-table}
11
+
12
+ | 項目 | As-Is | To-Be | ギャップ | 対応策 |
13
+ | ---- | ----- | ----- | -------- | ------ |
14
+ | 決済時間 | 平均8秒 | 平均2秒 | -6秒 | API高速化 |
15
+
16
+ ## 移行ロードマップ概要 {#migration-roadmap}
17
+ 1. フェーズ1: MVPリリース
18
+ 1. フェーズ2: フル機能移行
@@ -0,0 +1,23 @@
1
+ ---
2
+ sidebar_position: 2
3
+ tags:
4
+ - Overview
5
+ - Charter
6
+ ---
7
+
8
+ # プロジェクトチャーター {#project-charter}
9
+
10
+ ## ビジョン {#vision}
11
+ 1. 例: **2025年Q4までに新EC基盤をローンチし、年間売上+20%を実現する**
12
+
13
+ ## ゴールと非ゴール {#goals-and-non-goals}
14
+ 1. ゴール
15
+ 1. 例: エンドユーザ購入体験を平均3クリック以内に短縮
16
+ 1. 非ゴール
17
+ 1. 例: 店舗在庫連携は今回スコープ外
18
+
19
+ ## 成功指標(KPI) {#kpi}
20
+ 1. 例: 決済完了率95%以上、NPS+15 など
21
+
22
+ ## 背景・ビジネスドライバ {#background}
23
+ 1. 例: 既存ECの離脱率増加、競合比較 …
@@ -0,0 +1,73 @@
1
+ ---
2
+ sidebar_position: 8
3
+ ---
4
+ # 要求定義書(例)
5
+ ## 編集日時(降順)
6
+ 1. yyyy-mm-dd: xx氏とxy氏で解決したい課題を追加
7
+ 1. yyyy-mm-dd: 作成日
8
+
9
+ ## 参加者(敬称略)
10
+ 1. xxx
11
+ 1. xxx
12
+ 1. xxx(記)
13
+
14
+ ## 解決したい課題
15
+
16
+ :::tip - TIP
17
+ 1. 緊急度と重要度の2軸で考察する
18
+ 1. 緊急度: 高 or 低
19
+ 1. 重要度: 高 or 低
20
+ 1. 緊急度が高く、重要度も高いものがシステム化を最優先する
21
+ 1. 緊急度が低く、重要度が高いものをいつ取り込むかが重要
22
+ 1. 緊急度が低く、重要度が低いものをどう取り扱うかも重要
23
+ 1. システム化を見送るかなど
24
+ :::
25
+
26
+ 1. 緊高+重高: ミスによる時間のロスでお客様へも影響がでてしまう
27
+ 1. 緊低+重高: 繰り返し作業による入力ミス(ヒューマンエラー)を解消したい
28
+ 1. 緊低+重高: 伝達漏れ、操作忘れを回避したい
29
+
30
+ ## 解決したい方法
31
+ 1. 入力の簡素化
32
+ 1. 前回入力情報の再利用
33
+ 1. 期限の切れたToDoへのリマインド
34
+
35
+ ## ユースケースの準備
36
+ 1. アクターの抽出
37
+ 1. システムを利用する人、例えばお客様やオペレーターといった人物像をアクターとしてすべて洗い出す
38
+
39
+ ### 良くある例
40
+ 1. 顧客
41
+ 1. Web利用者
42
+ 1. モバイル利用者
43
+ 1. オペレーター
44
+ 1. チャット
45
+ 1. 電話
46
+ 1. 社員
47
+ 1. 営業
48
+ 1. 一般社員
49
+ 1. 管理者
50
+
51
+ ## ユースケースの作成
52
+ 1. コツはアウトプットから先に書く
53
+ 1. 得たい結果からシステムを通して誰がどんなインプットをするか書き出す
54
+
55
+ ```pumld
56
+ @startuml
57
+ left to right direction
58
+ skinparam packageStyle rectangle
59
+ actor 利用者 as customer
60
+ actor 利用者 as customer2
61
+ actor 図書委員 as admin
62
+ actor 図書委員 as admin2
63
+
64
+ customer -> admin : 借りたい本を\n伝える
65
+ package 図書館システム as system {
66
+ admin --> (手続きをする)
67
+ (本の在庫を探す) .> (手続きをする) : << include >>
68
+ (手続きをする) .> (本を貸出中にする) : << extends >>
69
+ }
70
+ (手続きをする) --> admin2
71
+ admin2 -> customer2 : 本を渡す
72
+ @enduml
73
+ ```
@@ -0,0 +1,16 @@
1
+ ---
2
+ sidebar_position: 11
3
+ tags:
4
+ - Overview
5
+ - Risk
6
+ ---
7
+
8
+ # リスク登録簿 {#risks}
9
+
10
+ ## リスク一覧 {#risk-list}
11
+ | ID | リスク | 影響度 | 発生確率 | 対策 |
12
+ | -- | ------ | ------ | -------- | ---- |
13
+ | R-001 | 決済API障害 | 高 | 中 | 冗長化 |
14
+
15
+ ## リスク対応方針 {#risk-policy}
16
+ 1. 影響度×確率 >= **高** は即時エスカレーション
@@ -0,0 +1,24 @@
1
+ ---
2
+ sidebar_position: 6
3
+ tags:
4
+ - Overview
5
+ - Scope
6
+ ---
7
+
8
+ # スコープ定義 {#scope}
9
+
10
+ ## 機能的スコープ {#functional-scope}
11
+ 1. 例: 商品検索、カート、決済、注文履歴
12
+
13
+ ## 非機能的スコープ {#non-functional-scope}
14
+ 1. パフォーマンス: 平均応答200ms以内
15
+ 1. セキュリティ: OWASP Top‑10 準拠
16
+
17
+ ## 境界・依存関係 {#boundaries}
18
+ 1. 外部サービス
19
+ 1. 決済ゲートウェイ
20
+ 1. 在庫管理API
21
+ 1. 前提: ERPはSOAPのみ対応 …
22
+
23
+ ## 前提・除外事項 {#assumptions-and-exclusions}
24
+ 1. モバイルアプリは別プロジェクトで実装
@@ -0,0 +1,24 @@
1
+ ---
2
+ sidebar_position: 8
3
+ tags:
4
+ - Overview
5
+ - Stakeholders
6
+ ---
7
+
8
+ # ステークホルダー一覧 {#stakeholders}
9
+
10
+ ## 一覧表 {#list}
11
+
12
+ | 役割 | 氏名 | 所属 | 連絡先 | 主な責任 |
13
+ | ---- | ---- | ---- | ---- | ---- |
14
+ | プロダクトオーナー | 山田太郎 | 企画部 | <yamada@example.com> | ROI達成 |
15
+
16
+ ## RACIマトリクス {#raci}
17
+
18
+ | 課題 | R | A | C | I |
19
+ | ---- | ---- | ---- | ---- | ---- |
20
+ | 要件定義 | PO | PM | UX | Dev |
21
+
22
+ ## コミュニケーション方針 {#communication}
23
+ 1. 週次スタンドアップ: 毎週火曜09:30-10:00
24
+ 1. 決裁事項はSlack #decision で共有
@@ -0,0 +1,64 @@
1
+ ---
2
+ sidebar_position: 4
3
+ tags:
4
+ - As-Is
5
+ ---
6
+ import TBD from '@site/src/components/TBD';
7
+
8
+ # As-Is - 現状分析
9
+
10
+ <!--
11
+ TBDの使い方
12
+ <TBD/> コンポーネントは未確定項目を可視化するための占位マークです
13
+ 執筆完了後はimport文といっしょにこのコメントも必ず削除すること
14
+ -->
15
+
16
+ ## 概要 {#current-overview}
17
+ 1. 本章の目的と読み手が得られるアウトプットを記述
18
+ 1. 分析対象の範囲(業務・システム)を明確にする
19
+
20
+ ## 業務プロセス {#business-process}
21
+
22
+ :::tip TIP
23
+ 1. 図で表示する
24
+ 1. もしくは現状の手順・担当・処理時間を箇条書きでも可
25
+ :::
26
+ 1. <TBD/>
27
+
28
+ ```pumld
29
+ @startuml
30
+ ' レイアウト調整(任意)
31
+ skinparam ParticipantPadding 20
32
+ skinparam Shadowing false
33
+
34
+ |顧客|
35
+ start
36
+ :商品閲覧;
37
+ :カートへ追加;
38
+ |ECシステム|
39
+ :在庫チェック;
40
+ :決済リクエスト送信;
41
+ |決済ゲートウェイ|
42
+ :決済処理;
43
+ |ECシステム|
44
+ :注文確定;
45
+ |顧客|
46
+ stop
47
+ @enduml
48
+ ```
49
+
50
+ ## システム構成 {#system-architecture}
51
+ 1. <TBD/> (図 or 表)
52
+
53
+ ## データフロー {#data-flow}
54
+ 1. <TBD/>
55
+
56
+ ## 運用状況・サービスレベル {#operations}
57
+ 1. 稼働率・障害履歴・主要な監視指標など
58
+ 1. <TBD/>
59
+
60
+ ## 問題・課題 (Pain Points) {#issues}
61
+
62
+ | # | 課題 | 影響度 | 発生頻度 | 備考 |
63
+ | - | ---- | ------ | -------- | ---- |
64
+ | PP-01 | 在庫連携に最長3日遅延 | 高 | 週1回 | 手作業バッチ |
@@ -0,0 +1,41 @@
1
+ ---
2
+ sidebar_position: 99
3
+ tags:
4
+ - Glossary
5
+ ---
6
+ import TBD from '@site/src/components/TBD';
7
+
8
+ # Glossary - 用語集
9
+
10
+ <!--
11
+ TBDの使い方
12
+ <TBD/> コンポーネントは未確定項目を可視化するための占位マークです
13
+ 執筆完了後はimport文といっしょにこのコメントも必ず削除すること
14
+ -->
15
+
16
+ ## 使い方ガイド {#how-to-use}
17
+ 1. 用語は **アルファベット順 → かな順 → その他** の順番で並べる
18
+ 1. 別名・略語は `(別名: xxx)` と括弧書きで追記
19
+
20
+ ## 用語一覧 {#glossary-list}
21
+
22
+ :::tip TIP
23
+ 1. 以下は記述例
24
+ 1. すべての記述例を削除、もしくは編集したらこのTIPも削除する
25
+ :::
26
+
27
+ ### API
28
+ 1. Application Programming Interface の略。ソフトウェア間の通信仕様
29
+ 1. REST, gRPC など
30
+
31
+ ### Availability
32
+ 1. システムの稼働率を示す指標
33
+ 1. 「可用性」とも呼ぶ
34
+
35
+ ### BPMN
36
+ 1. Business Process Model and Notation。業務プロセス図の標準表記
37
+ 1. PlantUML 等で描画可能
38
+
39
+ ### キャパシティプランニング {#capacity-planning}
40
+ 1. 将来の負荷増加を見越した資源計画
41
+ 1. CPU / メモリ / IOPS など
@@ -0,0 +1,41 @@
1
+ ---
2
+ id: index
3
+ sidebar_position: 1
4
+ tags:
5
+ - Overview
6
+ ---
7
+ # プロジェクト概要・分析
8
+
9
+ 1. プロジェクト上流工程に必要なドキュメントです
10
+ 1. 上から順に読み進めることで全体像を把握できます
11
+
12
+ ## フォルダー構成と役割 {#structure}
13
+
14
+ :::tip TIP
15
+ 1. ファイル名に接頭辞 `_` を付けているテンプレートは、執筆開始時に接頭辞を外して本運用ファイルへリネームする
16
+ 1. 使用しないテンプレがあれば削除し、以下の一覧からも解除する
17
+ :::
18
+
19
+ ```text
20
+ 01-overview/
21
+ ├ index.mdx ← このファイル
22
+ ├ project-charter.mdx ← 上位ビジョン・非ゴール
23
+ ├ odsc.mdx ← 目的(o)・成果物(d)・成功基準(sc)
24
+ ├ as-is.mdx ← 現状分析
25
+ ├ to-be.mdx ← 目指すべき姿
26
+ ├ scope.mdx ← 機能・非機能スコープ
27
+ ├ business-context.mdx ← 市場・ユーザ・背景
28
+ ├ stakeholders.mdx ← 役割責任表・RACI
29
+ ├ assumptions-constraints.mdx ← 前提条件・制約
30
+ ├ gap-analysis.mdx ← ギャップ分析
31
+ ├ risks.mdx ← リスク登録簿
32
+ ├ roadmap.mdx ← ロードマップ
33
+ ├ system-context.mdx ← システムコンテキスト
34
+ └ glossary.mdx ← 用語集
35
+ ```
36
+
37
+ ## ドキュメント作成ルール {#rules}
38
+ 1. 各ドキュメントは **章立て・箇条書き・コードブロック** の記法ルールに従う
39
+ 1. 未確定箇所には `<TBD/>` コンポーネントを置き、確定後に削除する
40
+ 1. 章タイトルのひとつ上の行に空行を入れる。ただし直前行が章タイトルの場合は不要
41
+ 1. プロジェクトで使用する用語は **アルファベット順 → かな順 → その他** で管理し、差分比較しやすいように番号付きリストを用いる → [Glossary - 用語集](./glossary.mdx) を参照