@blastlabs/utils 1.17.0 β 1.18.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 +83 -0
- package/bin/init-ai-rules.cjs +8 -2
- package/package.json +1 -1
- package/rules/changelog.md +60 -0
- package/rules/documentation.md +9 -0
package/README.md
CHANGED
|
@@ -255,6 +255,89 @@ function App() {
|
|
|
255
255
|
import type { FormDevToolsProps, ApiLogEntry } from '@blastlabs/utils/components/dev';
|
|
256
256
|
```
|
|
257
257
|
|
|
258
|
+
## π CLI λꡬ
|
|
259
|
+
|
|
260
|
+
μ΄ ν¨ν€μ§λ νλ‘μ νΈ μ€μ μ μλννλ CLI λꡬλ₯Ό μ 곡ν©λλ€.
|
|
261
|
+
|
|
262
|
+
### FSD Entity Generator
|
|
263
|
+
|
|
264
|
+
Feature-Sliced Design μν€ν
μ²μ© μν°ν° μ€μΊν΄λ©μ μλμΌλ‘ μμ±ν©λλ€.
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
# entities ν΄λλ‘ μ΄λ
|
|
268
|
+
cd src/entities
|
|
269
|
+
|
|
270
|
+
# μν°ν° μμ±
|
|
271
|
+
npx blastlabs-generate-entity user
|
|
272
|
+
npx blastlabs-generate-entity my-new-entity
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
**μμ±λλ ꡬ쑰:**
|
|
276
|
+
```
|
|
277
|
+
user/
|
|
278
|
+
βββ index.ts
|
|
279
|
+
βββ api/
|
|
280
|
+
β βββ get-user-list.ts
|
|
281
|
+
β βββ get-user-detail.ts
|
|
282
|
+
β βββ user-queries.ts
|
|
283
|
+
β βββ index.ts
|
|
284
|
+
β βββ mapper/
|
|
285
|
+
β β βββ map-user.ts
|
|
286
|
+
β β βββ map-user-detail.ts
|
|
287
|
+
β βββ query/
|
|
288
|
+
β βββ user-list-query.ts
|
|
289
|
+
βββ model/
|
|
290
|
+
βββ user.ts
|
|
291
|
+
βββ user-detail.ts
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
**νΉμ§:**
|
|
295
|
+
- TanStack Query queryOptions ν¨ν΄ μ§μ
|
|
296
|
+
- Zod μ€ν€λ§ μλ μμ±
|
|
297
|
+
- API mapper ν¨ν΄ μ μ©
|
|
298
|
+
- TypeScript νμ
μμ μ± λ³΄μ₯
|
|
299
|
+
|
|
300
|
+
### AI Rules Installer
|
|
301
|
+
|
|
302
|
+
Cursor, Claude Codeμ© AI κ·μΉμ νλ‘μ νΈμ μ€μΉν©λλ€.
|
|
303
|
+
|
|
304
|
+
```bash
|
|
305
|
+
# νλ‘μ νΈ λ£¨νΈμμ μ€ν
|
|
306
|
+
npx blastlabs-init-ai-rules [options]
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
**μ΅μ
:**
|
|
310
|
+
- `--fsd` - FSD μν€ν
μ² κ·μΉ ν¬ν¨
|
|
311
|
+
- `--all` - λͺ¨λ κ·μΉ μ€μΉ (base + fsd)
|
|
312
|
+
- `--list, -l` - μ€μΉ κ°λ₯ν κ·μΉ λͺ©λ‘ 보기
|
|
313
|
+
- `--help, -h` - λμλ§ λ³΄κΈ°
|
|
314
|
+
|
|
315
|
+
**μμ:**
|
|
316
|
+
```bash
|
|
317
|
+
# κΈ°λ³Έ κ·μΉλ§ μ€μΉ
|
|
318
|
+
npx blastlabs-init-ai-rules
|
|
319
|
+
|
|
320
|
+
# FSD μν€ν
μ² κ·μΉ ν¬ν¨
|
|
321
|
+
npx blastlabs-init-ai-rules --fsd
|
|
322
|
+
|
|
323
|
+
# λͺ¨λ κ·μΉ μ€μΉ
|
|
324
|
+
npx blastlabs-init-ai-rules --all
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
**μ€μΉλλ νμΌ:**
|
|
328
|
+
```
|
|
329
|
+
.cursor/rules/*.mdc # Cursorμ© κ·μΉ
|
|
330
|
+
.claude/rules/*.md # Claude Codeμ© κ·μΉ
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
**ν¬ν¨λ κ·μΉ:**
|
|
334
|
+
- TypeScript νμ€
|
|
335
|
+
- React Hooks κ°μ΄λλΌμΈ
|
|
336
|
+
- ν
μ€νΈ μμ± κ°μ΄λ
|
|
337
|
+
- λ¬Έμν κ°μ΄λλΌμΈ
|
|
338
|
+
- Git μ»€λ° μ»¨λ²€μ
|
|
339
|
+
- FSD μν€ν
μ² (μ ν)
|
|
340
|
+
|
|
258
341
|
## μ£Όμμ¬ν
|
|
259
342
|
|
|
260
343
|
- **κ°λ°μ© μ»΄ν¬λνΈ(`components/dev`)λ νλ‘λμ
νκ²½μμ μ μΈνλ κ²μ κΆμ₯ν©λλ€.**
|
package/bin/init-ai-rules.cjs
CHANGED
|
@@ -11,6 +11,7 @@ const RULE_CATEGORIES = {
|
|
|
11
11
|
"react-hooks.md",
|
|
12
12
|
"testing.md",
|
|
13
13
|
"documentation.md",
|
|
14
|
+
"changelog.md",
|
|
14
15
|
"git-commit.md",
|
|
15
16
|
],
|
|
16
17
|
// FSD μν€ν
μ² κ·μΉ
|
|
@@ -139,9 +140,14 @@ function serializeCursorFrontmatter(frontmatter) {
|
|
|
139
140
|
if (frontmatter.description) {
|
|
140
141
|
yaml += `description: ${frontmatter.description}\n`;
|
|
141
142
|
}
|
|
142
|
-
|
|
143
|
-
|
|
143
|
+
// Cursorλ globs μ¬μ© (pathsλ₯Ό globsλ‘ λ³ν)
|
|
144
|
+
// λ°°μ΄μΈ κ²½μ° μΌνλ‘ κ΅¬λΆλ ν μ€λ‘ λ³ν
|
|
145
|
+
const globs = frontmatter.globs || frontmatter.paths;
|
|
146
|
+
if (globs) {
|
|
147
|
+
const globsStr = Array.isArray(globs) ? globs.join(",") : globs;
|
|
148
|
+
yaml += `globs: "${globsStr}"\n`;
|
|
144
149
|
}
|
|
150
|
+
// alwaysApplyλ Cursor μ μ©
|
|
145
151
|
if (frontmatter.alwaysApply !== undefined) {
|
|
146
152
|
yaml += `alwaysApply: ${frontmatter.alwaysApply}\n`;
|
|
147
153
|
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Changelog μμ± κ·μΉ"
|
|
3
|
+
globs: "CHANGELOG.md"
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Changelog Rules
|
|
8
|
+
|
|
9
|
+
## νμ κ·μΉ
|
|
10
|
+
|
|
11
|
+
- [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) νμ μ€μ
|
|
12
|
+
- Semantic Versioning μ€μ
|
|
13
|
+
- μ΅μ λ³κ²½μ¬νμ `[Unreleased]` μΉμ
μ μΆκ°
|
|
14
|
+
|
|
15
|
+
## μΉμ
ꡬ쑰
|
|
16
|
+
|
|
17
|
+
```markdown
|
|
18
|
+
# Changelog
|
|
19
|
+
|
|
20
|
+
## [Unreleased]
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- μλ‘μ΄ κΈ°λ₯
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
- κΈ°μ‘΄ κΈ°λ₯μ λ³κ²½
|
|
27
|
+
|
|
28
|
+
### Deprecated
|
|
29
|
+
- κ³§ μ κ±°λ κΈ°λ₯
|
|
30
|
+
|
|
31
|
+
### Removed
|
|
32
|
+
- μ κ±°λ κΈ°λ₯
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
- λ²κ·Έ μμ
|
|
36
|
+
|
|
37
|
+
### Security
|
|
38
|
+
- 보μ ν¨μΉ
|
|
39
|
+
|
|
40
|
+
## [1.0.0] - 2024-01-01
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## λ²μ λ¦΄λ¦¬μ¦ μ
|
|
44
|
+
|
|
45
|
+
1. `[Unreleased]` λ΄μ©μ μ λ²μ μΉμ
μΌλ‘ μ΄λ
|
|
46
|
+
2. λ¦΄λ¦¬μ¦ λ μ§ μΆκ°
|
|
47
|
+
3. μλ‘μ΄ `[Unreleased]` μΉμ
μμ±
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
## [Unreleased]
|
|
51
|
+
|
|
52
|
+
## [1.1.0] - 2024-02-01
|
|
53
|
+
### Added
|
|
54
|
+
- μ΄μ μ Unreleasedμ μλ λ΄μ©
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## μ€μ
|
|
58
|
+
|
|
59
|
+
- **Always** update CHANGELOG.md when making changes
|
|
60
|
+
- λ°°ν¬ μ λ°λμ changelog νμΈ
|
package/rules/documentation.md
CHANGED
|
@@ -15,7 +15,16 @@ alwaysApply: false
|
|
|
15
15
|
|
|
16
16
|
- κΈ°λ₯ μΆκ° μ README.md μ
λ°μ΄νΈ
|
|
17
17
|
- μ hooks μΆκ° μ κ΄λ ¨ docs/*.md μ
λ°μ΄νΈ
|
|
18
|
+
- λ³κ²½μ¬νμ λ°λμ CHANGELOG.mdμ κΈ°λ‘
|
|
19
|
+
|
|
20
|
+
## CHANGELOG μμ±
|
|
21
|
+
|
|
22
|
+
- [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) νμ μ€μ
|
|
23
|
+
- μ΅μ λ³κ²½μ¬νμ `[Unreleased]` μΉμ
μ μΆκ°
|
|
24
|
+
- μΉμ
: Added, Changed, Deprecated, Removed, Fixed, Security
|
|
25
|
+
- λ²μ λ¦΄λ¦¬μ¦ μ `[Unreleased]`λ₯Ό ν΄λΉ λ²μ μΌλ‘ μ΄λ
|
|
18
26
|
|
|
19
27
|
## νμ μ¬ν
|
|
20
28
|
|
|
21
29
|
- **Always** update documentation when adding features
|
|
30
|
+
- **Always** update CHANGELOG.md for any changes
|