lism-cli 0.7.0 → 0.9.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/README.md +87 -31
- package/dist/{chunk-6E4LIZPL.js → chunk-BEY36YDC.js} +111 -118
- package/dist/index.js +252 -291
- package/dist/lib.d.ts +77 -91
- package/dist/lib.js +1 -1
- package/package.json +12 -11
- /package/bin/{lism.mjs → lism-cli.mjs} +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# lism-cli
|
|
2
2
|
|
|
3
|
-
[Lism CSS](https://lism-css.com) / [Lism UI](https://lism-css.com/ui) のための
|
|
3
|
+
[Lism CSS](https://lism-css.com) / [Lism UI](https://lism-css.com/ui) のためのCLIツール。`lism-cli` コマンドで新規プロジェクト生成・UIコンポーネント追加・AIスキル配置を行います。
|
|
4
4
|
|
|
5
5
|
## 前提条件
|
|
6
6
|
|
|
@@ -9,9 +9,11 @@
|
|
|
9
9
|
## コマンド体系
|
|
10
10
|
|
|
11
11
|
```
|
|
12
|
-
lism create [targetDir] [--template <name|category>]
|
|
13
|
-
lism ui
|
|
14
|
-
lism
|
|
12
|
+
lism-cli create [targetDir] [--template <name|category>] [--lang <ja|en>] # templates から新規プロジェクト
|
|
13
|
+
lism-cli init [--ui-framework <react|astro>] [--ui-dir <path>] # lism.config ファイルの新規生成
|
|
14
|
+
lism-cli ui { add <names...> | list } # Lism UI コンポーネントの追加
|
|
15
|
+
lism-cli skill { add [skill] | check | update } # AI エージェント向け SKILL.md 配置
|
|
16
|
+
lism-cli mockup # 画面モックアップ作成の案内
|
|
15
17
|
```
|
|
16
18
|
|
|
17
19
|
## 使い方
|
|
@@ -34,9 +36,28 @@ pnpm dlx lism-cli create --template blog-astro-minimal --lang en ./my-blog
|
|
|
34
36
|
|
|
35
37
|
同じ動作は `pnpm create lism` / `npm create lism@latest` でも呼び出せます(`create-lism` パッケージ経由)。挙動は両者で共通です。
|
|
36
38
|
|
|
37
|
-
`--lang <ja|en>` は CLI
|
|
39
|
+
`--lang <ja|en>` は CLIの表示言語に加えて、**生成されるテンプレート本体の言語**にも反映されます。`--lang` を指定しない場合は、対話端末(TTY)ではほかのどの選択よりも先に言語選択プロンプトが表示され、選んだ言語で以降の表示とテンプレート生成が確定します(非対話環境・CI等では `en` にフォールバック)。対応言語版を持つテンプレート(`blog-astro-minimal` / `blog-astro-personal` / `blog-astro-techlog` / `lp-astro-corporate` / `lp-astro-interior`)では、指定言語のサイト文言・サンプルコンテンツで生成されます。言語版が無いテンプレートは、指定言語に関わらず既存(ベース)の内容で生成されます。
|
|
38
40
|
|
|
39
|
-
###
|
|
41
|
+
### lism.config の生成
|
|
42
|
+
|
|
43
|
+
既存プロジェクトに Lism CSS を後付けする場合など、設定ファイルのひな形が必要なときは `init` を使います。
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
pnpm dlx lism-cli init
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
core 設定(`tokens` / `props` 等、コメントアウトされたひな形)を持つ `lism.config.js` を新規作成します。対話の中で「Lism UI のコンポーネントも使いますか?」と確認され(デフォルト: No)、Yes と答えた場合のみ `ui` セクション(`framework` / `dir`)も併せて生成されます。
|
|
50
|
+
|
|
51
|
+
`ui` セクションの値はオプションで先渡しできます。指定されなかった質問だけが対話で行われます。
|
|
52
|
+
|
|
53
|
+
- `--ui-framework <react|astro>`: framework の選択をスキップし、UI 利用の確認のみ行います(この場合のデフォルトは Yes)
|
|
54
|
+
- `--ui-dir <path>`: UI コンポーネントの出力先。指定すると UI 利用の意思とみなし、確認を省略して framework の選択のみ行います
|
|
55
|
+
|
|
56
|
+
非対話環境(CI 等)では質問を出せないため、`--ui-framework` があれば `ui` セクション込みで生成し、無ければ `ui` セクション無しで生成します(`--ui-dir` のみの指定はエラーになります)。
|
|
57
|
+
|
|
58
|
+
既に `lism.config.{ts,mjs,js}` がある場合は何も変更しません(`ui` セクションの後付けは、後述の `ui add` 実行時に表示されるスニペットを貼り付けてください)。
|
|
59
|
+
|
|
60
|
+
### UIコンポーネントの追加
|
|
40
61
|
|
|
41
62
|
```bash
|
|
42
63
|
# 単一 / 複数
|
|
@@ -53,27 +74,39 @@ pnpm dlx lism-cli ui list
|
|
|
53
74
|
pnpm dlx lism-cli ui add accordion --ref dev
|
|
54
75
|
```
|
|
55
76
|
|
|
56
|
-
コンポーネントは [`packages/lism-ui/src/components`](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components) から [giget](https://github.com/unjs/giget)
|
|
77
|
+
コンポーネントは [`packages/lism-ui/src/components`](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components) から [giget](https://github.com/unjs/giget) 経由で直接取得されるため、既存コンポーネントの実装を更新するだけでCLI側も自動で追従します。ただし、コンポーネントを追加・削除した場合は `lism-ui` 側で `registry-index.json` を再生成(ビルド時の `gen:registry`)してcommitする必要があります(`ui list` / `ui add --all` が参照するカタログのため)。
|
|
57
78
|
|
|
58
|
-
|
|
79
|
+
`ui` セクションの設定が見つからない状態で `ui add` を実行すると、対話式セットアップが走ります。
|
|
59
80
|
|
|
60
81
|
```
|
|
61
82
|
? フレームワークを選択してください: React
|
|
62
|
-
? コンポーネントの出力先ディレクトリ: src/components/ui
|
|
63
|
-
? helper の出力先ディレクトリ: src/components/ui/_helper
|
|
64
|
-
✔ lism.config.js を作成しました。
|
|
65
83
|
```
|
|
66
84
|
|
|
67
|
-
|
|
85
|
+
出力先ディレクトリは既定値(`src/components/ui`)が使われます。変更したい場合は `--ui-dir` フラグで指定してください。
|
|
86
|
+
|
|
87
|
+
`ui add` は入力した値をその回の実行に使うだけで設定ファイルは書き換えず、最後に `lism.config.*` へ貼り付けるための `ui` セクションのスニペットを案内します(CSSカスタマイズ用に先に作られた設定を壊さないため)。
|
|
88
|
+
|
|
89
|
+
設定をファイルとして残すには、`lism.config.*` が無い場合は `lism-cli init`(前述)で `ui` セクション込みの設定ファイルを生成し、既にある場合は上記スニペットを貼り付けてください。
|
|
68
90
|
|
|
69
91
|
### AI エージェント向けスキルの配置
|
|
70
92
|
|
|
71
|
-
|
|
93
|
+
同梱スキル(`SKILL.md` ほか一式)を各種AIツールの所定ディレクトリへ展開します。
|
|
94
|
+
|
|
95
|
+
同梱スキルは以下の3つです:
|
|
96
|
+
|
|
97
|
+
| スキル | 説明 |
|
|
98
|
+
|--------|------|
|
|
99
|
+
| `lism-css-guide` | Lism CSSでUI・ページを実装・修正する時に使う実装ガイド |
|
|
100
|
+
| `lism-css-refactor` | 既存の Lism CSSコードを、見た目や挙動を変えずにLismらしい書き方へ整理するリファクタガイド |
|
|
101
|
+
| `lism-mockup-guide` | `@lism-css/mockup`で画面モックアップを組む時のワークフローとデータ契約のガイド(`lism-css-guide`併用前提) |
|
|
72
102
|
|
|
73
103
|
```bash
|
|
74
104
|
# 対話モード(使用中のツールを自動検出)
|
|
75
105
|
pnpm dlx lism-cli skill add
|
|
76
106
|
|
|
107
|
+
# スキル名を指定して個別に導入
|
|
108
|
+
pnpm dlx lism-cli skill add lism-css-refactor
|
|
109
|
+
|
|
77
110
|
# ツールを明示指定
|
|
78
111
|
pnpm dlx lism-cli skill add --claude --cursor
|
|
79
112
|
|
|
@@ -87,46 +120,69 @@ pnpm dlx lism-cli skill check
|
|
|
87
120
|
pnpm dlx lism-cli skill update --claude
|
|
88
121
|
```
|
|
89
122
|
|
|
90
|
-
|
|
123
|
+
`skill add` は引数なしで実行すると同梱スキルすべてを一括導入し、`skill add <skill>` でスキル名を指定すると、そのスキルだけを配置します。`check` / `update` はスキル引数を取らず、常に同梱スキル全体が対象です。
|
|
124
|
+
|
|
125
|
+
配置先の対応表(`<skill>` にはスキル名が入ります):
|
|
91
126
|
|
|
92
127
|
| ツール | 配置先 |
|
|
93
128
|
|--------|--------|
|
|
94
|
-
| `--claude` | `.claude/skills
|
|
95
|
-
| `--codex` | `.agents/skills
|
|
96
|
-
| `--cursor` | `.cursor/skills
|
|
97
|
-
| `--windsurf` | `.windsurf/skills
|
|
98
|
-
| `--cline` | `.cline/skills
|
|
99
|
-
| `--copilot` | `.github/skills
|
|
100
|
-
| `--gemini` | `.gemini/skills
|
|
101
|
-
| `--junie` | `.junie/skills
|
|
129
|
+
| `--claude` | `.claude/skills/<skill>` |
|
|
130
|
+
| `--codex` | `.agents/skills/<skill>` |
|
|
131
|
+
| `--cursor` | `.cursor/skills/<skill>` |
|
|
132
|
+
| `--windsurf` | `.windsurf/skills/<skill>` |
|
|
133
|
+
| `--cline` | `.cline/skills/<skill>` |
|
|
134
|
+
| `--copilot` | `.github/skills/<skill>` |
|
|
135
|
+
| `--gemini` | `.gemini/skills/<skill>` |
|
|
136
|
+
| `--junie` | `.junie/skills/<skill>` |
|
|
137
|
+
|
|
138
|
+
### 画面モックアップの案内
|
|
139
|
+
|
|
140
|
+
`lism-cli mockup` は、画面モックアップを作成するCLI [`@lism-css/mockup`](https://www.npmjs.com/package/@lism-css/mockup) の使い方を表示するだけのコマンドです。`lism-cli` 自体はモックアップ機能を持ちません。
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
pnpm dlx lism-cli mockup
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
モックアップの作成・検証・プレビューは `@lism-css/mockup` を直接実行してください。
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
npx @lism-css/mockup init [dir] # ひな形+契約説明書の生成
|
|
150
|
+
npx @lism-css/mockup check [dir] # 非対話の検証
|
|
151
|
+
npx @lism-css/mockup dev [dir] # devサーバー起動(ブラウザ確認用)
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
AIエージェントにモックアップを作らせる場合は、`lism-mockup-guide` スキル(前述の `skill add`)も併せて導入してください。
|
|
102
155
|
|
|
103
156
|
## lism.config.js
|
|
104
157
|
|
|
105
|
-
`ui
|
|
158
|
+
`ui add` が読み込む設定ファイル(新規作成するのは `init`)。CSSの設定(`tokens` 等)とUI設定を同居できます。
|
|
106
159
|
|
|
107
160
|
```js
|
|
108
161
|
export default {
|
|
109
|
-
|
|
162
|
+
ui: {
|
|
110
163
|
framework: 'react', // 'react' | 'astro'
|
|
111
|
-
|
|
112
|
-
helperDir: 'src/components/ui/_helper',
|
|
164
|
+
dir: 'src/components/ui',
|
|
113
165
|
},
|
|
114
166
|
};
|
|
115
167
|
```
|
|
116
168
|
|
|
117
|
-
`
|
|
169
|
+
helper の配置先は個別に設定できず、常に `{dir}/_helper` に固定されます。旧キー `ui.componentsDir` は `ui.dir` が無い場合のみ後方互換として読み込まれます。
|
|
170
|
+
|
|
171
|
+
設定ファイルは `lism.config.ts` / `lism.config.mjs` / `lism.config.js` に対応しており、この順で探索して最初に見つかったものを読み込みます。`lism-css` 本体の設定読込(`@lism-css/plugin` / `lism-css build`)も同じ探索順です。
|
|
118
172
|
|
|
119
|
-
|
|
173
|
+
旧 `cli` セクション名も後方互換のため読み込めますが、deprecation警告が出るので `ui` へのリネームを推奨します。
|
|
120
174
|
|
|
121
175
|
## パッケージが見つからないエラーが出る場合
|
|
122
176
|
|
|
123
|
-
npm / pnpm
|
|
177
|
+
npm / pnpmには、公開から間もないバージョンのインストールを一定期間ブロックする仕組みがあります(npmの`min-release-age`設定、pnpmの`minimumReleaseAge`設定)。公開直後の`lism-cli`を実行すると、このガードによりパッケージが見つからないエラーになる場合があります。次のように一時的に無効化して実行できます。
|
|
124
178
|
|
|
125
179
|
```bash
|
|
126
|
-
npm exec --
|
|
127
|
-
pnpm --
|
|
180
|
+
npm exec --min-release-age 0 lism-cli create
|
|
181
|
+
pnpm dlx --config.minimumReleaseAge=0 lism-cli create
|
|
128
182
|
```
|
|
129
183
|
|
|
184
|
+
Aikido Securityのsafe-chainなど、サードパーティのサプライチェーン保護ツールを導入している場合は、そのツール側の設定(例: `SAFE_CHAIN_MINIMUM_PACKAGE_AGE_HOURS=0`)も確認してください。
|
|
185
|
+
|
|
130
186
|
## License
|
|
131
187
|
|
|
132
188
|
MIT
|
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
// <define:__LISM_PACKAGE_VERSIONS__>
|
|
2
|
-
var define_LISM_PACKAGE_VERSIONS_default = { "lism-css": "0.
|
|
2
|
+
var define_LISM_PACKAGE_VERSIONS_default = { "lism-css": "0.26.0", "@lism-css/ui": "0.26.0", "@lism-css/plugin": "0.4.2" };
|
|
3
|
+
|
|
4
|
+
// src/logger.ts
|
|
5
|
+
import pc from "picocolors";
|
|
6
|
+
var logger = {
|
|
7
|
+
info(msg) {
|
|
8
|
+
console.log(pc.cyan(msg));
|
|
9
|
+
},
|
|
10
|
+
success(msg) {
|
|
11
|
+
console.log(pc.green(msg));
|
|
12
|
+
},
|
|
13
|
+
warn(msg) {
|
|
14
|
+
console.log(pc.yellow(`WARN: ${msg}`));
|
|
15
|
+
},
|
|
16
|
+
error(msg) {
|
|
17
|
+
console.error(pc.red(`ERROR: ${msg}`));
|
|
18
|
+
},
|
|
19
|
+
log(msg) {
|
|
20
|
+
console.log(msg);
|
|
21
|
+
},
|
|
22
|
+
heading(msg) {
|
|
23
|
+
console.log(pc.bold(pc.cyan(`
|
|
24
|
+
\u25B8 ${msg}`)));
|
|
25
|
+
}
|
|
26
|
+
};
|
|
3
27
|
|
|
4
28
|
// src/i18n.ts
|
|
5
29
|
import { execFileSync } from "child_process";
|
|
@@ -34,31 +58,24 @@ var messages = {
|
|
|
34
58
|
ja: "\u65E2\u5B58\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u5F37\u5236\u4E0A\u66F8\u304D",
|
|
35
59
|
en: "Overwrite existing directory"
|
|
36
60
|
},
|
|
61
|
+
// init
|
|
62
|
+
"cli.init.description": {
|
|
63
|
+
ja: "lism.config \u30D5\u30A1\u30A4\u30EB\u3092\u65B0\u898F\u751F\u6210\u3059\u308B",
|
|
64
|
+
en: "Generate a new lism.config file"
|
|
65
|
+
},
|
|
66
|
+
"cli.init.opt.uiFramework": {
|
|
67
|
+
ja: "UI \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\uFF08ui.framework\uFF09",
|
|
68
|
+
en: "Framework for UI components (ui.framework)"
|
|
69
|
+
},
|
|
70
|
+
"cli.init.opt.uiDir": {
|
|
71
|
+
ja: "UI \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u51FA\u529B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF08ui.dir\uFF09",
|
|
72
|
+
en: "Output directory for UI components (ui.dir)"
|
|
73
|
+
},
|
|
37
74
|
// ui
|
|
38
75
|
"cli.ui.description": {
|
|
39
76
|
ja: "Lism UI \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u8FFD\u52A0\u30FB\u7BA1\u7406",
|
|
40
77
|
en: "Manage Lism UI components"
|
|
41
78
|
},
|
|
42
|
-
"cli.ui.init.description": {
|
|
43
|
-
ja: "lism.config.js \u306E cli \u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u751F\u6210\u3059\u308B",
|
|
44
|
-
en: "Generate the cli section of lism.config.js"
|
|
45
|
-
},
|
|
46
|
-
"cli.ui.init.opt.framework": {
|
|
47
|
-
ja: "\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF",
|
|
48
|
-
en: "Framework"
|
|
49
|
-
},
|
|
50
|
-
"cli.ui.init.opt.componentsDir": {
|
|
51
|
-
ja: "\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u51FA\u529B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA",
|
|
52
|
-
en: "Output directory for components"
|
|
53
|
-
},
|
|
54
|
-
"cli.ui.init.opt.helperDir": {
|
|
55
|
-
ja: "helper \u306E\u51FA\u529B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA",
|
|
56
|
-
en: "Output directory for helpers"
|
|
57
|
-
},
|
|
58
|
-
"cli.ui.init.opt.force": {
|
|
59
|
-
ja: "\u65E2\u5B58\u306E cli \u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u4E0A\u66F8\u304D",
|
|
60
|
-
en: "Overwrite the existing cli section"
|
|
61
|
-
},
|
|
62
79
|
"cli.ui.add.description": {
|
|
63
80
|
ja: "\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u8FFD\u52A0\u3059\u308B",
|
|
64
81
|
en: "Add components"
|
|
@@ -83,6 +100,11 @@ var messages = {
|
|
|
83
100
|
ja: "\u53D6\u5F97\u5143\u306E Git ref\uFF08\u30D6\u30E9\u30F3\u30C1 / \u30BF\u30B0 / \u30B3\u30DF\u30C3\u30C8\uFF09",
|
|
84
101
|
en: "Git ref to fetch from (branch / tag / commit)"
|
|
85
102
|
},
|
|
103
|
+
// mockup
|
|
104
|
+
"cli.mockup.description": {
|
|
105
|
+
ja: "\u753B\u9762\u30E2\u30C3\u30AF\u30A2\u30C3\u30D7\u306E\u6848\u5185\u3092\u8868\u793A\u3059\u308B\uFF08\u5B9F\u4F53\u306F @lism-css/mockup\uFF09",
|
|
106
|
+
en: "Show guidance for mockups (provided by @lism-css/mockup)"
|
|
107
|
+
},
|
|
86
108
|
// skill
|
|
87
109
|
"cli.skill.description": {
|
|
88
110
|
ja: "AI \u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u5411\u3051\u30B9\u30AD\u30EB\uFF08SKILL.md\uFF09\u306E\u914D\u7F6E\u3068\u7BA1\u7406",
|
|
@@ -92,6 +114,10 @@ var messages = {
|
|
|
92
114
|
ja: "\u30B9\u30AD\u30EB\u3092\u914D\u7F6E\u3059\u308B",
|
|
93
115
|
en: "Deploy skills"
|
|
94
116
|
},
|
|
117
|
+
"cli.skill.add.arg.skill": {
|
|
118
|
+
ja: "\u914D\u7F6E\u3059\u308B\u30B9\u30AD\u30EB\u540D\uFF08\u7701\u7565\u6642\u306F\u5168\u30B9\u30AD\u30EB\uFF09",
|
|
119
|
+
en: "Skill name to deploy (all skills if omitted)"
|
|
120
|
+
},
|
|
95
121
|
"cli.skill.add.opt.overwrite": {
|
|
96
122
|
ja: "\u78BA\u8A8D\u306A\u3057\u3067\u4E0A\u66F8\u304D",
|
|
97
123
|
en: "Overwrite without confirmation"
|
|
@@ -212,17 +238,40 @@ var messages = {
|
|
|
212
238
|
en: "Failed to rewrite package.json: {reason}"
|
|
213
239
|
},
|
|
214
240
|
// ---------------------------------------------------------------------------
|
|
241
|
+
// init
|
|
242
|
+
// ---------------------------------------------------------------------------
|
|
243
|
+
"init.alreadyExists": {
|
|
244
|
+
ja: "{filename} \u306F\u65E2\u306B\u5B58\u5728\u3059\u308B\u305F\u3081\u3001\u4F55\u3082\u5909\u66F4\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002",
|
|
245
|
+
en: "{filename} already exists; nothing was changed."
|
|
246
|
+
},
|
|
247
|
+
"init.promptUseUi": {
|
|
248
|
+
ja: "Lism UI \u306E\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3082\u4F7F\u3044\u307E\u3059\u304B\uFF1F\uFF08ui \u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u8FFD\u52A0\u3057\u307E\u3059\uFF09",
|
|
249
|
+
en: "Will you also use Lism UI components? (adds a ui section)"
|
|
250
|
+
},
|
|
251
|
+
"init.created": {
|
|
252
|
+
ja: "{path} \u3092\u4F5C\u6210\u3057\u307E\u3057\u305F\u3002",
|
|
253
|
+
en: "Created {path}."
|
|
254
|
+
},
|
|
255
|
+
"init.uiFrameworkRequired": {
|
|
256
|
+
ja: "\u975E\u5BFE\u8A71\u74B0\u5883\u3067\u306F --ui-dir \u5358\u72EC\u3067 ui \u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093\u3002--ui-framework \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
257
|
+
en: "Cannot generate the ui section from --ui-dir alone in a non-interactive environment. Specify --ui-framework."
|
|
258
|
+
},
|
|
259
|
+
// ---------------------------------------------------------------------------
|
|
215
260
|
// ui
|
|
216
261
|
// ---------------------------------------------------------------------------
|
|
217
|
-
// ui 共通(add /
|
|
262
|
+
// ui 共通(add / init で共有)
|
|
263
|
+
"ui.promptFramework": {
|
|
264
|
+
ja: "\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",
|
|
265
|
+
en: "Select a framework:"
|
|
266
|
+
},
|
|
218
267
|
"ui.catalogFailed": {
|
|
219
268
|
ja: "\u30AB\u30BF\u30ED\u30B0\u306E\u53D6\u5F97\u306B\u5931\u6557\u3057\u307E\u3057\u305F{refInfo}: {reason}",
|
|
220
269
|
en: "Failed to fetch catalog{refInfo}: {reason}"
|
|
221
270
|
},
|
|
222
271
|
// ui add
|
|
223
272
|
"ui.add.noConfig": {
|
|
224
|
-
ja: "
|
|
225
|
-
en: "
|
|
273
|
+
ja: "ui \u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u3044\u304F\u3064\u304B\u8CEA\u554F\u3057\u307E\u3059\u3002",
|
|
274
|
+
en: "No ui section found. A few questions to get you started."
|
|
226
275
|
},
|
|
227
276
|
"ui.add.addingAll": {
|
|
228
277
|
ja: "\u5168 {count} \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u8FFD\u52A0\u3057\u307E\u3059...",
|
|
@@ -288,46 +337,9 @@ var messages = {
|
|
|
288
337
|
ja: " \u30B9\u30AD\u30C3\u30D7: {path}",
|
|
289
338
|
en: " Skipped: {path}"
|
|
290
339
|
},
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
en: "Select a framework:"
|
|
295
|
-
},
|
|
296
|
-
"ui.init.promptComponentsDir": {
|
|
297
|
-
ja: "\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u51FA\u529B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA:",
|
|
298
|
-
en: "Output directory for components:"
|
|
299
|
-
},
|
|
300
|
-
"ui.init.promptHelperDir": {
|
|
301
|
-
ja: "helper \u306E\u51FA\u529B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA:",
|
|
302
|
-
en: "Output directory for helpers:"
|
|
303
|
-
},
|
|
304
|
-
"ui.init.patchedUpdate": {
|
|
305
|
-
ja: "{path} \u306B cli \u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F\u3002",
|
|
306
|
-
en: "Updated the cli section in {path}."
|
|
307
|
-
},
|
|
308
|
-
"ui.init.patchedAdd": {
|
|
309
|
-
ja: "{path} \u306B cli \u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u8FFD\u8A18\u3057\u307E\u3057\u305F\u3002",
|
|
310
|
-
en: "Added the cli section to {path}."
|
|
311
|
-
},
|
|
312
|
-
"ui.init.notPatched": {
|
|
313
|
-
ja: "{path} \u306B\u65E2\u306B cli \u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u304B\u3001export default \u304C\u691C\u51FA\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u624B\u52D5\u3067\u8FFD\u8A18\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
314
|
-
en: "Either {path} already contains a cli section or no export default was detected. Please add it manually."
|
|
315
|
-
},
|
|
316
|
-
"ui.init.created": {
|
|
317
|
-
ja: "{path} \u3092\u4F5C\u6210\u3057\u307E\u3057\u305F\u3002",
|
|
318
|
-
en: "Created {path}."
|
|
319
|
-
},
|
|
320
|
-
"ui.init.legacyDetected": {
|
|
321
|
-
ja: "{filename} \u3092\u691C\u51FA\u3057\u307E\u3057\u305F\u3002lism.config.js \u3078\u79FB\u884C\u3057\u307E\u3059\u3002\u53E4\u3044\u30D5\u30A1\u30A4\u30EB\u306F\u5F8C\u3067\u524A\u9664\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
322
|
-
en: "Detected {filename}. Migrating to lism.config.js. Please remove the old file afterwards."
|
|
323
|
-
},
|
|
324
|
-
"ui.init.alreadyExists": {
|
|
325
|
-
ja: "{filename} \u306B\u306F\u65E2\u306B cli \u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u4E0A\u66F8\u304D\u3059\u308B\u306B\u306F --force \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
326
|
-
en: "{filename} already has a cli section. Use --force to overwrite."
|
|
327
|
-
},
|
|
328
|
-
"ui.init.willOverwrite": {
|
|
329
|
-
ja: "{filename} \u306E\u65E2\u5B58\u306E cli \u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u4E0A\u66F8\u304D\u3057\u307E\u3059\u3002",
|
|
330
|
-
en: "Overwriting the existing cli section in {filename}."
|
|
340
|
+
"ui.add.snippetGuide": {
|
|
341
|
+
ja: "\u6B21\u56DE\u304B\u3089\u540C\u3058\u8CEA\u554F\u3092\u3055\u308C\u306A\u3044\u305F\u3081\u306B\u3001{filename} \u306E export default \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u5185\u306B\u4EE5\u4E0B\u3092\u8CBC\u308A\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044:\n\n{snippet}\n",
|
|
342
|
+
en: "To avoid being asked these questions again, paste the following inside the exported config object in {filename}:\n\n{snippet}\n"
|
|
331
343
|
},
|
|
332
344
|
// ui list
|
|
333
345
|
"ui.list.fetching": {
|
|
@@ -343,6 +355,13 @@ var messages = {
|
|
|
343
355
|
en: "Total: {count} components"
|
|
344
356
|
},
|
|
345
357
|
// ---------------------------------------------------------------------------
|
|
358
|
+
// mockup
|
|
359
|
+
// ---------------------------------------------------------------------------
|
|
360
|
+
"mockup.guide": {
|
|
361
|
+
ja: "\u753B\u9762\u30E2\u30C3\u30AF\u30A2\u30C3\u30D7\u6A5F\u80FD\u306F\u5225\u30D1\u30C3\u30B1\u30FC\u30B8 @lism-css/mockup \u304C\u63D0\u4F9B\u3057\u307E\u3059\u3002\n\n npx @lism-css/mockup init [dir] \u2026 \u3072\u306A\u5F62\uFF0B\u5951\u7D04\u8AAC\u660E\u66F8\u306E\u751F\u6210\n npx @lism-css/mockup dev [dir] \u2026 dev\u30B5\u30FC\u30D0\u30FC\u8D77\u52D5\uFF08\u30D6\u30E9\u30A6\u30B6\u78BA\u8A8D\u7528\uFF09\n npx @lism-css/mockup check [dir] \u2026 \u975E\u5BFE\u8A71\u306E\u691C\u8A3C\n\n\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F\u306E\u74B0\u5883\u3067\u306F bin \u306E lism-mockup \u3067\u3082\u5B9F\u884C\u3067\u304D\u307E\u3059\u3002",
|
|
362
|
+
en: "Mockup features are provided by a separate package, @lism-css/mockup.\n\n npx @lism-css/mockup init [dir] ... Generate scaffolding and a contract document\n npx @lism-css/mockup dev [dir] ... Start the dev server (for browser preview)\n npx @lism-css/mockup check [dir] ... Run non-interactive checks\n\nIf installed, you can also run it via the lism-mockup bin."
|
|
363
|
+
},
|
|
364
|
+
// ---------------------------------------------------------------------------
|
|
346
365
|
// skill
|
|
347
366
|
// ---------------------------------------------------------------------------
|
|
348
367
|
// skill add
|
|
@@ -359,8 +378,12 @@ var messages = {
|
|
|
359
378
|
en: "No target tools were selected."
|
|
360
379
|
},
|
|
361
380
|
"skill.add.fetching": {
|
|
362
|
-
ja: "\u30B9\u30AD\u30EB\u3092\u53D6\u5F97\u4E2D\uFF08ref: {ref}\uFF09...",
|
|
363
|
-
en: "Fetching
|
|
381
|
+
ja: "\u30B9\u30AD\u30EB {skill} \u3092\u53D6\u5F97\u4E2D\uFF08ref: {ref}\uFF09...",
|
|
382
|
+
en: "Fetching skill {skill} (ref: {ref})..."
|
|
383
|
+
},
|
|
384
|
+
"skill.unknownSkill": {
|
|
385
|
+
ja: '\u30B9\u30AD\u30EB "{name}" \u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002\u5229\u7528\u53EF\u80FD: {list}',
|
|
386
|
+
en: 'Unknown skill "{name}". Available: {list}'
|
|
364
387
|
},
|
|
365
388
|
"skill.add.skippedSame": {
|
|
366
389
|
ja: " \u30B9\u30AD\u30C3\u30D7\uFF08\u5DEE\u5206\u306A\u3057\uFF09: {label}",
|
|
@@ -400,8 +423,8 @@ var messages = {
|
|
|
400
423
|
en: "No installed skills found. Run `{invoke} skill add` to deploy them."
|
|
401
424
|
},
|
|
402
425
|
"skill.check.fetching": {
|
|
403
|
-
ja: "\u30EA\u30E2\u30FC\u30C8\u30B9\u30AD\u30EB\u3092\u53D6\u5F97\u4E2D\uFF08ref: {ref}\uFF09...",
|
|
404
|
-
en: "Fetching remote
|
|
426
|
+
ja: "\u30EA\u30E2\u30FC\u30C8\u30B9\u30AD\u30EB {skill} \u3092\u53D6\u5F97\u4E2D\uFF08ref: {ref}\uFF09...",
|
|
427
|
+
en: "Fetching remote skill {skill} (ref: {ref})..."
|
|
405
428
|
},
|
|
406
429
|
"skill.check.upToDate": {
|
|
407
430
|
ja: " \u2713 {label} (\u6700\u65B0)",
|
|
@@ -412,8 +435,8 @@ var messages = {
|
|
|
412
435
|
en: "All skills are up to date."
|
|
413
436
|
},
|
|
414
437
|
"skill.check.outdated": {
|
|
415
|
-
ja: "{count} \u4EF6\u306E\
|
|
416
|
-
en: "{count}
|
|
438
|
+
ja: "{count} \u4EF6\u306E\u914D\u7F6E\u306B\u5DEE\u5206\u304C\u3042\u308A\u307E\u3059\u3002`{invoke} skill update` \u3067\u6700\u65B0\u306B\u66F4\u65B0\u3067\u304D\u307E\u3059\u3002",
|
|
439
|
+
en: "{count} deployment(s) differ from the remote. Run `{invoke} skill update` to update them."
|
|
417
440
|
},
|
|
418
441
|
"skill.check.diffModified": {
|
|
419
442
|
ja: "\u5909\u66F4 {count}",
|
|
@@ -430,34 +453,26 @@ var messages = {
|
|
|
430
453
|
// ---------------------------------------------------------------------------
|
|
431
454
|
// config
|
|
432
455
|
// ---------------------------------------------------------------------------
|
|
433
|
-
"config.legacyWarning": {
|
|
434
|
-
ja: '[deprecated] {filename} \u306F\u5EC3\u6B62\u4E88\u5B9A\u3067\u3059\u3002"{invoke} ui init" \u3067 lism.config.js \u3078\u79FB\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002',
|
|
435
|
-
en: '[deprecated] {filename} is deprecated. Run "{invoke} ui init" to migrate to lism.config.js.'
|
|
436
|
-
},
|
|
437
|
-
"config.notFound": {
|
|
438
|
-
ja: "lism.config.js / lism.config.mjs / lism-ui.json \u306E\u3044\u305A\u308C\u3082\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002",
|
|
439
|
-
en: "None of lism.config.js / lism.config.mjs / lism-ui.json were found."
|
|
440
|
-
},
|
|
441
|
-
"config.cliSectionMissing": {
|
|
442
|
-
ja: "{filename} \u304B\u3089 CLI \u8A2D\u5B9A\uFF08cli \u30AD\u30FC\uFF09\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\u3002",
|
|
443
|
-
en: "Failed to read the CLI config (cli key) from {filename}."
|
|
444
|
-
},
|
|
445
456
|
"config.invalidFramework": {
|
|
446
|
-
ja: '
|
|
447
|
-
en: '
|
|
457
|
+
ja: 'ui.framework \u306F "react" \u307E\u305F\u306F "astro" \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002',
|
|
458
|
+
en: 'ui.framework must be "react" or "astro".'
|
|
448
459
|
},
|
|
449
|
-
"config.
|
|
450
|
-
ja: "
|
|
451
|
-
en: "
|
|
460
|
+
"config.invalidDir": {
|
|
461
|
+
ja: "ui.dir \u306F\u6587\u5B57\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
462
|
+
en: "ui.dir must be a string."
|
|
452
463
|
},
|
|
453
|
-
"config.
|
|
454
|
-
ja: "cli
|
|
455
|
-
en: "cli
|
|
464
|
+
"config.cliKeyDeprecated": {
|
|
465
|
+
ja: '[deprecated] {filename} \u306E "cli:" \u30AD\u30FC\u306F "ui:" \u3078\u306E\u5909\u66F4\u304C\u63A8\u5968\u3055\u308C\u3066\u3044\u307E\u3059\u3002',
|
|
466
|
+
en: '[deprecated] The "cli:" key in {filename} is recommended to be renamed to "ui:".'
|
|
456
467
|
},
|
|
457
468
|
"config.loadFailed": {
|
|
458
469
|
ja: "{path} \u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u69CB\u6587\u30A8\u30E9\u30FC\u7B49\uFF09\u3002\u4FEE\u6B63\u3057\u3066\u304B\u3089\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044: {reason}",
|
|
459
470
|
en: "Failed to load {path} (syntax error, etc). Please fix it and retry: {reason}"
|
|
460
471
|
},
|
|
472
|
+
"config.freshConfigExists": {
|
|
473
|
+
ja: "{path} \u306F\u65E2\u306B\u5B58\u5728\u3059\u308B\u305F\u3081\u65B0\u898F\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002",
|
|
474
|
+
en: "Cannot create {path} because it already exists."
|
|
475
|
+
},
|
|
461
476
|
// ---------------------------------------------------------------------------
|
|
462
477
|
// common
|
|
463
478
|
// ---------------------------------------------------------------------------
|
|
@@ -543,36 +558,12 @@ import path from "path";
|
|
|
543
558
|
import { downloadTemplate } from "giget";
|
|
544
559
|
import { select, input, confirm } from "@inquirer/prompts";
|
|
545
560
|
|
|
546
|
-
// src/logger.ts
|
|
547
|
-
import pc from "picocolors";
|
|
548
|
-
var logger = {
|
|
549
|
-
info(msg) {
|
|
550
|
-
console.log(pc.cyan(msg));
|
|
551
|
-
},
|
|
552
|
-
success(msg) {
|
|
553
|
-
console.log(pc.green(msg));
|
|
554
|
-
},
|
|
555
|
-
warn(msg) {
|
|
556
|
-
console.log(pc.yellow(`WARN: ${msg}`));
|
|
557
|
-
},
|
|
558
|
-
error(msg) {
|
|
559
|
-
console.error(pc.red(`ERROR: ${msg}`));
|
|
560
|
-
},
|
|
561
|
-
log(msg) {
|
|
562
|
-
console.log(msg);
|
|
563
|
-
},
|
|
564
|
-
heading(msg) {
|
|
565
|
-
console.log(pc.bold(pc.cyan(`
|
|
566
|
-
\u25B8 ${msg}`)));
|
|
567
|
-
}
|
|
568
|
-
};
|
|
569
|
-
|
|
570
561
|
// src/version.ts
|
|
571
|
-
var LISM_CSS_VERSION = "0.
|
|
562
|
+
var LISM_CSS_VERSION = "0.26.0" ? "0.26.0" : "unknown";
|
|
572
563
|
var LISM_PACKAGE_VERSIONS = typeof define_LISM_PACKAGE_VERSIONS_default !== "undefined" && define_LISM_PACKAGE_VERSIONS_default ? define_LISM_PACKAGE_VERSIONS_default : {
|
|
573
564
|
"lism-css": LISM_CSS_VERSION
|
|
574
565
|
};
|
|
575
|
-
var CLI_VERSION = "0.
|
|
566
|
+
var CLI_VERSION = "0.9.0" ? "0.9.0" : "unknown";
|
|
576
567
|
|
|
577
568
|
// src/constants.ts
|
|
578
569
|
var SOURCE_REPO = "lism-css/lism-css";
|
|
@@ -584,7 +575,8 @@ var DEFAULT_TEMPLATES_REF = "main";
|
|
|
584
575
|
var UI_COMPONENTS_PATH = "packages/lism-ui/src/components";
|
|
585
576
|
var UI_HELPER_PATH = "packages/lism-ui/src/helper";
|
|
586
577
|
var UI_REGISTRY_INDEX_PATH = "packages/lism-ui/registry-index.json";
|
|
587
|
-
var
|
|
578
|
+
var SKILL_SOURCE_BASE = "skills";
|
|
579
|
+
var SKILL_NAMES = ["lism-css-guide", "lism-css-refactor", "lism-mockup-guide"];
|
|
588
580
|
var TEMPLATES_PATH = "templates";
|
|
589
581
|
|
|
590
582
|
// ../../templates/manifest.ts
|
|
@@ -1173,7 +1165,8 @@ export {
|
|
|
1173
1165
|
UI_COMPONENTS_PATH,
|
|
1174
1166
|
UI_HELPER_PATH,
|
|
1175
1167
|
UI_REGISTRY_INDEX_PATH,
|
|
1176
|
-
|
|
1168
|
+
SKILL_SOURCE_BASE,
|
|
1169
|
+
SKILL_NAMES,
|
|
1177
1170
|
CLI_VERSION,
|
|
1178
1171
|
runCreate,
|
|
1179
1172
|
createCommand
|