@intra-mart/accel 0.3.0-dev.202606240810 → 0.3.0-dev.202606250217

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
@@ -57,8 +57,8 @@ accel init my-project \
57
57
  |---|---|---|---|
58
58
  | `[project-name]` (位置引数) | string | プロジェクト名(ディレクトリ名と一致) | `my-accel-project`(対話で変更可) |
59
59
  | `--accelplatform-version` | string | iAPバージョン。カタログのリリースID形式(例: `2026-spring`) | 対話で選択 |
60
- | `--module` | string | 使用モジュール。カタログの `artifactId`(カンマ区切り。例: `im_workflow,im_activiti`) | 対話で選択 |
61
- | `--feature` | string | 使用機能。カタログの機能ID(カンマ区切り。例: `jssp,e2e`) | 未選択 |
60
+ | `--module` | string | 使用モジュール。カタログの `artifactId`(カンマ区切り。例: `im_workflow,im_activiti`)。1個以上必須 | 対話で選択 |
61
+ | `--feature` | string | 使用機能。カタログの機能ID(カンマ区切り。例: `jssp,e2e`)。選択リリースのカタログに機能がある場合は1個以上必須 | 対話で選択 |
62
62
  | `--agent` | string | エージェント種別(`claude-code`, `codex`, `github-copilot`、カンマ区切り) | 自動検出 |
63
63
  | `--locale` | string | ロケール(`ja`, `en`, `zh_CN`) | OS設定から自動検出 |
64
64
  | `--artifact-id` | string | アーティファクトID(pomの `artifactId` に相当) | プロジェクト名と同値 |
@@ -100,8 +100,8 @@ accel attach --non-interactive --accelplatform-version 2026-spring --module im_w
100
100
  |---|---|---|---|
101
101
  | `--name` | string | プロジェクト名 | カレントディレクトリ名 |
102
102
  | `--accelplatform-version` | string | iAPバージョン。カタログのリリースID形式(例: `2026-spring`) | 対話で選択 |
103
- | `--module` | string | 使用モジュール。カタログの `artifactId`(カンマ区切り。例: `im_workflow,im_activiti`) | 対話で選択 |
104
- | `--feature` | string | 使用機能。カタログの機能ID(カンマ区切り。例: `jssp,e2e`) | 未選択 |
103
+ | `--module` | string | 使用モジュール。カタログの `artifactId`(カンマ区切り。例: `im_workflow,im_activiti`)。1個以上必須 | 対話で選択 |
104
+ | `--feature` | string | 使用機能。カタログの機能ID(カンマ区切り。例: `jssp,e2e`)。選択リリースのカタログに機能がある場合は1個以上必須 | 対話で選択 |
105
105
  | `--agent` | string | エージェント種別(`claude-code`, `codex`, `github-copilot`、カンマ区切り) | 自動検出 |
106
106
  | `--locale` | string | ロケール(`ja`, `en`, `zh_CN`) | OS設定から自動検出 |
107
107
  | `--artifact-id` | string | アーティファクトID(pomの `artifactId` に相当) | プロジェクト名と同値 |
@@ -339,7 +339,7 @@ CLIに渡された値および対話で入力された値は、以下のルー
339
339
  | `--project-version` | Maven version 規約: `^[A-Za-z0-9][A-Za-z0-9._-]*$` |
340
340
  | `--accelplatform-version` | カタログのリリースID(`2025-spring` 以降)に含まれる値 |
341
341
  | `--module` | 選択したiAPリリースのカタログに含まれるモジュールの `artifactId`(例: `im_workflow`, `im_activiti`)のいずれか(各要素) |
342
- | `--feature` | 選択したiAPリリースのカタログに含まれる機能ID(例: `jssp`, `imds`, `i18n`, `e2e`)のいずれか(各要素) |
342
+ | `--feature` | 選択したiAPリリースのカタログに含まれる機能ID(例: `jssp`, `imds`, `i18n`, `e2e`)のいずれか(各要素)。リリースのカタログに機能が1個以上ある場合は1個以上の指定が必須 |
343
343
  | `--database` | `postgresql`, `oracle`, `sqlserver` のいずれか |
344
344
  | `--agent` | `claude-code`, `codex`, `github-copilot` のいずれか(各要素) |
345
345
  | `--package-manager` | `bun`, `npm`, `yarn`, `pnpm` のいずれか |
package/dist/i18n/en.js CHANGED
@@ -11,7 +11,7 @@ export const messages = {
11
11
  "prompt.accelplatformVersion.hint": "iAP release version. The deployed assets (CLAUDE.md, etc.) adapt to this version",
12
12
  "prompt.modules": "Select modules to use",
13
13
  "prompt.modules.hint": "iAP optional product modules. Each selection deploys matching skills, config, and CLAUDE.md sections",
14
- "prompt.features": "Select features to use (optional)",
14
+ "prompt.features": "Select features to use",
15
15
  "prompt.features.hint": "iAP features used in this project. Skills and CLAUDE.md sections for the selected features will be deployed",
16
16
  "prompt.group": "Enter group name",
17
17
  "prompt.group.hint": "Recorded in pom.xml as the Maven groupId (dot-separated organization identifier)\nAn identifier for your organization or team; reverse-domain notation reduces collisions (e.g. com.example, jp.co.intra_mart.app)",
package/dist/i18n/ja.js CHANGED
@@ -11,7 +11,7 @@ export const messages = {
11
11
  "prompt.accelplatformVersion.hint": "iAP本体のリリース版。配備される資材(CLAUDE.md 等)の内容がこのバージョンに合わせて変化します",
12
12
  "prompt.modules": "利用するモジュールを選択してください",
13
13
  "prompt.modules.hint": "iAP のオプション製品群。選択したモジュール向けの Skill や設定ファイル、CLAUDE.md 内のセクションが配備されます",
14
- "prompt.features": "利用する機能を選択してください(任意)",
14
+ "prompt.features": "利用する機能を選択してください",
15
15
  "prompt.features.hint": "プロジェクトで利用する iAP の機能。選択した機能向けの Skill や CLAUDE.md 内のセクションが配備されます",
16
16
  "prompt.group": "グループ名を入力してください",
17
17
  "prompt.group.hint": "Maven の groupId として pom.xml に記録されます(組織を表すドット区切り名)\n所属する組織やチームを表す識別子。逆ドメイン記法で書くと他者と衝突しにくいです(例: com.example, jp.co.intra_mart.app)",
@@ -11,7 +11,7 @@ export const messages = {
11
11
  "prompt.accelplatformVersion.hint": "iAP 本体的发行版。部署的资源(CLAUDE.md 等)会根据该版本变化",
12
12
  "prompt.modules": "请选择要使用的模块",
13
13
  "prompt.modules.hint": "iAP 的可选产品模块。每选一项会部署对应的 Skill、配置文件以及 CLAUDE.md 中的相应章节",
14
- "prompt.features": "请选择要使用的功能(可选)",
14
+ "prompt.features": "请选择要使用的功能",
15
15
  "prompt.features.hint": "项目中使用的 iAP 功能。将部署所选功能对应的 Skill 和 CLAUDE.md 中的章节",
16
16
  "prompt.group": "请输入组名",
17
17
  "prompt.group.hint": "作为 Maven groupId 写入 pom.xml(表示组织的点分标识符)\n表示所属组织或团队的标识符;按反向域名记法书写可减少与他人的冲突(例如: com.example, jp.co.intra_mart.app)",
@@ -127,6 +127,12 @@ export const runPrompts = async (opts) => {
127
127
  throw new Error(getMessage("error.invalidVersion", locale, { version: releaseId }));
128
128
  }
129
129
  validateCatalogValues(opts, release, locale);
130
+ if (release.functions.length > 0 &&
131
+ (!opts.feature || opts.feature.length === 0)) {
132
+ throw new Error(getMessage("error.missingRequiredOptions", locale, {
133
+ options: "--feature",
134
+ }));
135
+ }
130
136
  const releaseArtifactIds = release.modules.map((m) => m.artifactId);
131
137
  const modules = opts.module && opts.module.length > 0
132
138
  ? opts.module
@@ -242,20 +248,28 @@ export const runPrompts = async (opts) => {
242
248
  label: resolveLabel(m.labels, locale),
243
249
  })),
244
250
  initialValues: moduleDefault,
251
+ required: true,
245
252
  }));
246
253
  if (p.isCancel(modules))
247
254
  process.exit(0);
248
- const features = (await p.multiselect({
249
- message: withHint("prompt.features", locale),
250
- options: release.functions.map((f) => ({
251
- value: f.id,
252
- label: resolveLabel(f.labels, locale),
253
- })),
254
- initialValues: opts.feature ?? [],
255
- required: false,
256
- }));
257
- if (p.isCancel(features))
258
- process.exit(0);
255
+ let features;
256
+ if (release.functions.length === 0) {
257
+ features = [];
258
+ }
259
+ else {
260
+ const selected = (await p.multiselect({
261
+ message: withHint("prompt.features", locale),
262
+ options: release.functions.map((f) => ({
263
+ value: f.id,
264
+ label: resolveLabel(f.labels, locale),
265
+ })),
266
+ initialValues: opts.feature ?? [],
267
+ required: true,
268
+ }));
269
+ if (p.isCancel(selected))
270
+ process.exit(0);
271
+ features = selected;
272
+ }
259
273
  const group = (await p.text({
260
274
  message: withHint("prompt.group", locale),
261
275
  defaultValue: opts.group ?? DEFAULT_SETTINGS.group,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intra-mart/accel",
3
- "version": "0.3.0-dev.202606240810",
3
+ "version": "0.3.0-dev.202606250217",
4
4
  "type": "module",
5
5
  "description": "CLI tool for intra-mart Accel Platform development",
6
6
  "author": "NTT DATA INTRAMART",
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@clack/prompts": "^1.4.0",
42
- "@intra-mart/catalog": "0.1.0-dev.202606160846",
42
+ "@intra-mart/catalog": "0.1.0-dev.202606250213",
43
43
  "citty": "^0.1.6",
44
44
  "fast-xml-parser": "^5.2.0",
45
45
  "remark": "^15.0.1",