@luxkit/cli 1.1.4 → 1.1.42

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 ADDED
@@ -0,0 +1,103 @@
1
+ # Changelog
2
+
3
+ ## 1.1.42
4
+
5
+ - Added `CHANGELOG.md` to published npm package
6
+
7
+ ## 1.1.41
8
+
9
+ - Fixed Chinese README filename casing (`README_Zh.md` → `README_ZH.md`) in published npm package
10
+ - Improved pre-commit hook reliability and project documentation
11
+
12
+ ## 1.1.4
13
+
14
+ - `lux fmt` now supports `--cspell` opt-in flag for CSpell config generation — consistent with existing `--stylelint` and `--editorconfig` opt-in pattern
15
+ - `lux fmt` now supports `--husky` and `--lint-staged` opt-in flags for Git hooks automation — `--lint-staged` implicitly enables `--husky`, supports all package managers with yarn-specific postinstall handling
16
+ - Added husky + lint-staged pre-commit hook to the project itself
17
+ - Fixed pre-commit hook missing force guard and Unix execute permission
18
+ - Fixed `.lintstagedrc` not recognized by CSpell dictionary
19
+
20
+ ## 1.1.3
21
+
22
+ - `lux fmt` now supports custom presets — create a directory under `~/.lux/preset/fmt/<name>/` with config files and a `package.json`, then run `lux fmt <name>` to apply it
23
+ - `lux fmt list` now shows custom presets after built-in ones, marked with `(custom)` in yellow
24
+ - `--stylelint` and `--editorconfig` flags now filter entire script entries by key name (e.g. `stylelint:check`, `editorconfig:check`) in addition to stripping inline segments
25
+ - `lux fmt <name> --reset` now warns and aborts for custom presets (no builtin to restore)
26
+ - `lux fmt <custom-preset> --stylelint/--editorconfig` now warns when the flag has no effect (preset has no matching config or dependencies)
27
+ - Unknown preset names now fuzzy match against all available presets (builtin + custom combined)
28
+ - Fixed `lux fmt` and `lux vscode` returning exit code 0 on preset not found — now correctly returns 1 for CI/CD pipelines
29
+ - Fixed CSpell ignorePaths glob pattern in generated configs
30
+ - Fixed Chinese README link returning 404 on npm — `README_Zh.md` now included in published package
31
+ - update readme docs
32
+
33
+ ## 1.1.2
34
+
35
+ - All preset scripts consolidated: `lint` now runs eslint + cspell + typecheck (+ stylelint) in one command — removed `code:check`, `code:fix`, `code:check:all`, `code:fix:all`, `format:check`, `cspell`, `type:check`, `stylelint`, `stylelint:fix` scripts
36
+ - Added `lux init --preset` to materialize all built-in presets to `~/.lux/preset/` without writing to project directory
37
+ - `--no-stylelint` now strips stylelint segments inline from `lint` and `lint:fix` scripts instead of removing separate script keys
38
+ - `--dry-run` now reports which dependencies would be added instead of silently skipping the install step
39
+ - Fixed `--no-install` resolving all template deps instead of only the missing ones
40
+ - CSpell configs in all presets now ignore `**/*.svg` and `**/*.png` files by default (recursive glob)
41
+ - Fixed Vue presets (web-vue, electron-vue, uniapp) ESLint flat config import compatibility with `@vue/eslint-config-prettier`
42
+
43
+ ## 1.1.1
44
+
45
+ - Added `lux init` command — interactively select an AI coding tool (Claude Code / OpenCode) and copy bundled skill files to the project
46
+ - Generated presets are now saved to `~/.lux/preset/` for reuse — subsequent runs use the local copy instead of regenerating
47
+ - Added `--reset` flag to `fmt` and `vscode` commands to re-create local preset from built-in defaults
48
+ - Edit files in `~/.lux/preset/` to customize what gets applied on future runs
49
+ - `lux vscode` now merges extensions with existing `extensions.json` instead of overwriting — user-installed extensions are preserved
50
+ - Fixed `--force` not reporting overwritten files correctly for local presets
51
+
52
+ ## 1.0.9
53
+
54
+ - **BREAKING**: `fmt` stylelint is now opt-in via `--stylelint` flag (previously included by default)
55
+ - **BREAKING**: `fmt` editorconfig is now opt-in via `--editorconfig` flag (previously included by default)
56
+ - Added `web-react` preset for `fmt` and `vscode` commands
57
+ - Dependencies are now written to `package.json` when using `--no-install` flag
58
+ - Fixed silent crashes on file write and JSON read errors
59
+ - ESLint lint and lint:fix scripts now use `--cache` with cache stored in `node_modules/.cache/.eslintcache`
60
+
61
+ ## 1.0.8
62
+
63
+ - Fixed stylelint scripts and deps not being filtered when using `--no-stylelint` flag
64
+
65
+ ## 1.0.7
66
+
67
+ - Renamed `web` preset to `web-vue` and `electron` preset to `electron-vue`
68
+ - Added `--no-stylelint` flag to `vscode` command
69
+
70
+ ## 1.0.6
71
+
72
+ - Fixed quoted value format in vpn command's env config storage
73
+
74
+ ## 1.0.5
75
+
76
+ - Added vpn proxy config persistent storage with `set`/`unset` sub-commands
77
+
78
+ ## 1.0.4
79
+
80
+ - Fixed `demo.gif` URL in README
81
+
82
+ ## 1.0.3
83
+
84
+ - Fixed npm package missing `demo.gif` in published files
85
+
86
+ ## 1.0.2
87
+
88
+ - `lux fmt` and `lux vscode` no longer require `init` sub-command
89
+ - Added vpn bash command
90
+ - Simplified dependency install flow by removing version pinning
91
+
92
+ ## 1.0.1
93
+
94
+ - Package renamed to `@luxkit/cli` — install with the new name
95
+ - Fixed README install commands
96
+
97
+ ## 1.0.0
98
+
99
+ - Initial release: one-click project formatting and VSCode config CLI
100
+ - `lux fmt` — generate ESLint, Prettier, Stylelint, CSpell, EditorConfig configs with presets
101
+ - `lux vscode` — generate VSCode settings and recommended extensions
102
+ - `lux update` — self-update with npm/bun support
103
+ - `lux vpn` — proxy clipboard helper with `cmd`/`pw` sub-commands
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
  [![TypeScript](https://img.shields.io/badge/TypeScript-6.0-3178C6.svg)](https://www.typescriptlang.org/)
11
11
  [![ESM Only](https://img.shields.io/badge/ESM-only-F7DF1E.svg)](https://nodejs.org/api/esm.html)
12
12
 
13
- **English** | [中文](./README_Zh.md)
13
+ **English** | [中文](./README_ZH.md)
14
14
 
15
15
  </div>
16
16
 
@@ -58,6 +58,10 @@ lux vscode web-vue # Generate .vscode/settings.json + extensions.jso
58
58
  # List available presets
59
59
  lux fmt list
60
60
  lux vscode list
61
+
62
+ # Next Steps:
63
+ # 🎨 Customize built-in fmt lint presets, e.g. web-vue (Optional)
64
+ # 🧩 Create your own custom presets, e.g. fmt <your-lint-preset-name> (Optional)
61
65
  ```
62
66
 
63
67
  <br />
@@ -208,14 +212,14 @@ npm uninstall -g @luxkit/cli
208
212
 
209
213
  ### 🔍Troubleshooting
210
214
 
211
- | Issue | Solution |
212
- | :---- | :------- |
213
- | `package.json` errors | Ensure a valid `package.json` exists in the project root |
214
- | Preset not found | Run `lux fmt list` to see all available presets — lux auto-suggests via fuzzy matching |
215
- | Wrong package manager detected | Ensure the lockfile exists (`bun.lock` / `package-lock.json` / `pnpm-lock.yaml`) |
216
- | Skip dependency install | Use `--no-install` to only write to `package.json`, install manually |
217
- | Preview before applying | Use `--dry-run` to see all operations without writing |
218
- | Flags have no effect | Custom presets must include the corresponding config files and deps for `--stylelint`/`--cspell`/`--editorconfig`/`--husky`/`--lint-staged` to work |
215
+ | Issue | Solution |
216
+ | :----------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |
217
+ | `package.json` errors | Ensure a valid `package.json` exists in the project root |
218
+ | Preset not found | Run `lux fmt list` to see all available presets — lux auto-suggests via fuzzy matching |
219
+ | Wrong package manager detected | Ensure the lockfile exists (`bun.lock` / `package-lock.json` / `pnpm-lock.yaml`) |
220
+ | Skip dependency install | Use `--no-install` to only write to `package.json`, install manually |
221
+ | Preview before applying | Use `--dry-run` to see all operations without writing |
222
+ | Flags have no effect | Custom presets must include the corresponding config files and deps for `--stylelint`/`--cspell`/`--editorconfig`/`--husky`/`--lint-staged` to work |
219
223
 
220
224
  <br />
221
225
 
@@ -58,6 +58,10 @@ lux vscode web-vue # 生成 .vscode/settings.json + extensions.json
58
58
  # 查看可用预设
59
59
  lux fmt list
60
60
  lux vscode list
61
+
62
+ # 下一步:
63
+ # 🎨 自定义内置fmt lint预设,例如web-vue(可选)
64
+ # 🧩 自定义你自己的预设,例如fmt <your-lint-preset-name>(可选)
61
65
  ```
62
66
 
63
67
  <br />
@@ -208,13 +212,13 @@ npm uninstall -g @luxkit/cli
208
212
 
209
213
  ## 🔍故障排查
210
214
 
211
- | 问题 | 解决方案 |
212
- | :---------------------- | :--------------------------------------------------------------------------------------- |
213
- | `package.json` 相关错误 | 确保项目根目录存在合法的 `package.json` |
214
- | 预设未找到 | 运行 `lux fmt list` 查看所有可用预设,lux 会自动模糊匹配建议 |
215
- | 包管理器检测不正确 | 确保 lockfile 存在(`bun.lock` / `package-lock.json` / `pnpm-lock.yaml`) |
216
- | 跳过依赖安装 | 使用 `--no-install` 仅写入 `package.json`,手动安装 |
217
- | 预览操作结果 | 使用 `--dry-run` 查看将执行的所有操作 |
215
+ | 问题 | 解决方案 |
216
+ | :---------------------- | :----------------------------------------------------------------------------------------------------------------- |
217
+ | `package.json` 相关错误 | 确保项目根目录存在合法的 `package.json` |
218
+ | 预设未找到 | 运行 `lux fmt list` 查看所有可用预设,lux 会自动模糊匹配建议 |
219
+ | 包管理器检测不正确 | 确保 lockfile 存在(`bun.lock` / `package-lock.json` / `pnpm-lock.yaml`) |
220
+ | 跳过依赖安装 | 使用 `--no-install` 仅写入 `package.json`,手动安装 |
221
+ | 预览操作结果 | 使用 `--dry-run` 查看将执行的所有操作 |
218
222
  | flag 无效果 | 自定义预设需包含对应的配置文件和依赖,`--stylelint`/`--cspell`/`--editorconfig`/`--husky`/`--lint-staged` 才能生效 |
219
223
 
220
224
  <br />
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luxkit/cli",
3
- "version": "1.1.4",
3
+ "version": "1.1.42",
4
4
  "description": "One-click project formatting & VSCode config CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -8,7 +8,8 @@
8
8
  },
9
9
  "files": [
10
10
  "dist",
11
- "README_Zh.md"
11
+ "README_ZH.md",
12
+ "CHANGELOG.md"
12
13
  ],
13
14
  "publishConfig": {
14
15
  "access": "public"