claude-code-arcane 2.9.9 → 2.11.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 (70) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +45 -43
  3. package/dist/cli.js +79 -33
  4. package/docs/SKILLS-CATALOG.md +4 -2
  5. package/docs/USER-GUIDE.md +24 -22
  6. package/docs/templates/skill-test-spec.md +0 -1
  7. package/package.json +1 -1
  8. package/profiles/ai.yaml +3 -0
  9. package/profiles/android-native.yaml +2 -0
  10. package/profiles/backend-dotnet.yaml +2 -0
  11. package/profiles/backend-go.yaml +2 -8
  12. package/profiles/backend-nestjs.yaml +2 -0
  13. package/profiles/backend-nextjs.yaml +2 -0
  14. package/profiles/backend-ts.yaml +4 -8
  15. package/profiles/backend-typescript.yaml +53 -0
  16. package/profiles/blender.yaml +1 -0
  17. package/profiles/flutter.yaml +2 -0
  18. package/profiles/frontend-react-vite.yaml +39 -0
  19. package/profiles/frontend.yaml +2 -0
  20. package/profiles/infra.yaml +2 -0
  21. package/profiles/integrations.yaml +6 -1
  22. package/profiles/ios-native.yaml +2 -0
  23. package/profiles/meshy.yaml +1 -0
  24. package/profiles/mobile-android-kotlin.yaml +36 -0
  25. package/profiles/mobile-flutter.yaml +37 -0
  26. package/profiles/mobile-ios-swift.yaml +37 -0
  27. package/profiles/mobile-react-native.yaml +39 -0
  28. package/profiles/mobile.yaml +2 -0
  29. package/rules/blender-files.md +72 -0
  30. package/rules/blender-pipeline.md +1 -63
  31. package/rules/gamedev/narrative.md +1 -1
  32. package/rules/meshy-assets.md +9 -78
  33. package/rules/meshy-files.md +83 -0
  34. package/skills/agent-protocol/SKILL.md +1 -1
  35. package/skills/agent-protocol/references/communication-standard.md +2 -2
  36. package/skills/ai-security/SKILL.md +4 -0
  37. package/skills/arcane-add/SKILL.md +1 -1
  38. package/skills/arcane-list/SKILL.md +3 -3
  39. package/skills/arcane-status/SKILL.md +1 -1
  40. package/skills/audit-dev/SKILL.md +1 -1
  41. package/skills/blender-animation/SKILL.md +1 -1
  42. package/skills/blender-export/SKILL.md +1 -1
  43. package/skills/blender-materials/SKILL.md +1 -1
  44. package/skills/blender-modeling/SKILL.md +1 -1
  45. package/skills/check/SKILL.md +1 -1
  46. package/skills/chief-of-staff/SKILL.md +1 -1
  47. package/skills/cloud-security/SKILL.md +4 -0
  48. package/skills/freelance-kickoff/SKILL.md +1 -1
  49. package/skills/isms-audit-expert/SKILL.md +2 -0
  50. package/skills/meshy-derive/SKILL.md +1 -1
  51. package/skills/meshy-generate/SKILL.md +1 -1
  52. package/skills/meshy-setup/SKILL.md +1 -1
  53. package/skills/owasp-top10-check/SKILL.md +1 -1
  54. package/skills/qms-audit-expert/SKILL.md +2 -0
  55. package/skills/security-pen-testing/SKILL.md +1 -1
  56. package/skills/seo-audit/SKILL.md +1 -1
  57. package/skills/skill-auditor/SKILL.md +0 -1
  58. package/skills/skill-improve/SKILL.md +6 -7
  59. package/skills/skill-test/SKILL.md +3 -3
  60. package/skills/skill-test/references/static-checks.md +13 -8
  61. package/skills/standup-report/SKILL.md +1 -1
  62. package/skills/vn-gdd/SKILL.md +2 -0
  63. package/skills/web-security/SKILL.md +4 -0
  64. package/skills/worktree-isolation/README.md +6 -6
  65. package/skills/worktree-isolation/SKILL.md +5 -2
  66. package/skills/worktree-isolation-setup/README.md +7 -11
  67. package/skills/worktree-isolation-setup/SKILL.md +15 -6
  68. package/skills/worktree-isolation-setup/scripts/apply.py +0 -178
  69. package/skills/worktree-isolation-setup/scripts/install_hook.py +0 -118
  70. package/skills/worktree-isolation-setup/scripts/lib.py +0 -371
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## What is Arcane?
4
4
 
5
- Arcane is a configuration harness for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). It provides a curated library of **437 skills**, **115 agents**, **17 hooks**, and **31 rules** that you selectively deploy into any project. Instead of shipping everything to every project (wasting tokens and degrading performance), you pick a **profile** that matches your stack and only the relevant tools get installed.
5
+ Arcane is a configuration harness for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). It provides a curated library of **437 skills**, **115 agents**, **17 hooks**, and **33 rules** that you selectively deploy into any project. Instead of shipping everything to every project (wasting tokens and degrading performance), you pick a **profile** that matches your stack and only the relevant tools get installed.
6
6
 
7
7
  ## Table of Contents
8
8
 
@@ -37,7 +37,7 @@ Arcane is a configuration harness for [Claude Code](https://docs.anthropic.com/e
37
37
  No installation needed — Arcane runs via `npx`:
38
38
 
39
39
  ```bash
40
- npx claude-code-arcane install backend-ts+agile
40
+ npx claude-code-arcane install backend-typescript+agile
41
41
  ```
42
42
 
43
43
  That's it. `npx` downloads and runs the latest version automatically.
@@ -49,7 +49,7 @@ That's it. `npx` downloads and runs the latest version automatically.
49
49
  cd ~/projects/my-app
50
50
 
51
51
  # 2. Install a profile
52
- npx claude-code-arcane install backend-ts+agile
52
+ npx claude-code-arcane install backend-typescript+agile
53
53
 
54
54
  # 3. Open Claude Code
55
55
  claude
@@ -69,10 +69,10 @@ Your project now has skills, agents, hooks, rules, and permissions tailored for
69
69
  npx claude-code-arcane install
70
70
 
71
71
  # Install a specific profile
72
- npx claude-code-arcane install backend-ts
72
+ npx claude-code-arcane install backend-typescript
73
73
 
74
74
  # Combine profiles with +
75
- npx claude-code-arcane install backend-ts+agile+testing
75
+ npx claude-code-arcane install backend-typescript+agile+testing
76
76
 
77
77
  # Install to a specific directory (default: current dir)
78
78
  npx claude-code-arcane install unity-dev --target ~/projects/my-game
@@ -178,7 +178,7 @@ Removes `.claude/` and `.claude.bak/` from the current directory. Requires `--fo
178
178
 
179
179
  ```bash
180
180
  # Create worktree + install Arcane in one step
181
- npx claude-code-arcane worktree feat/new-api --profile backend-ts+agile
181
+ npx claude-code-arcane worktree feat/new-api --profile backend-typescript+agile
182
182
 
183
183
  # Inherits profile from current installation
184
184
  npx claude-code-arcane worktree feat/new-api
@@ -219,9 +219,9 @@ All profiles are equal — pick any combination that fits your work. They are gr
219
219
 
220
220
  | Category | Profiles |
221
221
  |----------|----------|
222
- | **Backend** | `backend-ts`, `backend-go`, `backend-dotnet`, `backend-nestjs`, `backend-nextjs` |
223
- | **Frontend & Design** | `frontend`, `design` |
224
- | **Mobile** | `mobile`, `flutter`, `android-native`, `ios-native` |
222
+ | **Backend** | `backend-typescript`, `backend-go`, `backend-dotnet`, `backend-nestjs`, `backend-nextjs` |
223
+ | **Frontend & Design** | `frontend-react-vite`, `design` |
224
+ | **Mobile** | `mobile-react-native`, `mobile-flutter`, `mobile-android-kotlin`, `mobile-ios-swift` |
225
225
  | **Gamedev** | `unity-dev`, `unity-design`, `unreal-dev`, `visual-novel`, `audio`, `meshy`, `blender` |
226
226
  | **Platform & Quality** | `infra`, `database`, `security`, `testing`, `ai` |
227
227
  | **Project Management** | `agile`, `jira`, `clickup`, `integrations` |
@@ -229,6 +229,8 @@ All profiles are equal — pick any combination that fits your work. They are gr
229
229
  | **Personal** | `second-brain`, `job-hunt`, `freelance` |
230
230
  | **Utilities** | `docs`, `self-improving`, `statusline` |
231
231
 
232
+ Older names still install and update: `backend-ts`, `frontend`, `mobile`, `flutter`, `ios-native` and `android-native` resolve to `backend-typescript`, `frontend-react-vite`, `mobile-react-native`, `mobile-flutter`, `mobile-ios-swift` and `mobile-android-kotlin`.
233
+
232
234
  ### Core (always included)
233
235
 
234
236
  Every installation automatically loads `core.yaml` first:
@@ -255,7 +257,7 @@ npx claude-code-arcane install <profile>[+<profile>][+<profile>...]
255
257
 
256
258
  1. **Always explicit** — there is no "full" or "all" profile. You choose what you need.
257
259
  2. **Core is automatic** — the 21 universal skills and all hooks are always included.
258
- 3. **All profiles combine freely** — `unity-dev+unity-design`, `backend-go+frontend`, or `backend-ts+agile+testing`; there is no required "base".
260
+ 3. **All profiles combine freely** — `unity-dev+unity-design`, `backend-go+frontend-react-vite`, or `backend-typescript+agile+testing`; there is no required "base".
259
261
  4. **Deduplication is automatic** — overlapping skills across profiles are installed once.
260
262
  5. **Replace, not merge** — installing a new profile replaces the previous one entirely (with backup).
261
263
 
@@ -269,7 +271,7 @@ After the initial install, you can incrementally add or remove skills and profil
269
271
 
270
272
  ```bash
271
273
  # Start with a profile
272
- npx claude-code-arcane install backend-ts
274
+ npx claude-code-arcane install backend-typescript
273
275
 
274
276
  # Later, add testing and security
275
277
  npx claude-code-arcane add +testing +security
@@ -292,7 +294,7 @@ npx claude-code-arcane remove docker-setup
292
294
 
293
295
  # Start over completely
294
296
  npx claude-code-arcane clean --force
295
- npx claude-code-arcane install backend-ts+agile
297
+ npx claude-code-arcane install backend-typescript+agile
296
298
  ```
297
299
 
298
300
  ---
@@ -305,7 +307,7 @@ Work on multiple features in parallel using git worktrees, each with its own Arc
305
307
 
306
308
  ```bash
307
309
  # Create worktree + install Arcane in one step
308
- npx claude-code-arcane worktree feat/new-api --profile backend-ts+agile
310
+ npx claude-code-arcane worktree feat/new-api --profile backend-typescript+agile
309
311
 
310
312
  # Inherits profile from current installation
311
313
  npx claude-code-arcane worktree feat/new-api
@@ -368,25 +370,25 @@ npx claude-code-arcane install unity-dev+unity-design+agile+clickup
368
370
  npx claude-code-arcane install backend-go+infra+agile+jira
369
371
 
370
372
  # Full-stack monorepo
371
- npx claude-code-arcane install backend-ts+frontend+testing+database
373
+ npx claude-code-arcane install backend-typescript+frontend-react-vite+testing+database
372
374
 
373
375
  # Mobile app with CI/CD
374
- npx claude-code-arcane install mobile+agile+clickup+testing
376
+ npx claude-code-arcane install mobile-react-native+agile+clickup+testing
375
377
 
376
378
  # Secure backend with docs
377
- npx claude-code-arcane install backend-ts+security+docs+database
379
+ npx claude-code-arcane install backend-typescript+security+docs+database
378
380
 
379
381
  # AI/ML project with data pipelines
380
382
  npx claude-code-arcane install backend-go+ai+infra
381
383
 
382
384
  # SaaS with full marketing stack
383
- npx claude-code-arcane install backend-ts+marketing+business+finance
385
+ npx claude-code-arcane install backend-typescript+marketing+business+finance
384
386
 
385
387
  # Regulated medical device
386
- npx claude-code-arcane install backend-ts+regulatory+security+testing
388
+ npx claude-code-arcane install backend-typescript+regulatory+security+testing
387
389
 
388
390
  # With status bar
389
- npx claude-code-arcane install backend-ts+agile+statusline
391
+ npx claude-code-arcane install backend-typescript+agile+statusline
390
392
  ```
391
393
 
392
394
  ---
@@ -450,8 +452,8 @@ Every installation creates `.claude/arcane-manifest.json`:
450
452
  {
451
453
  "arcane_version": "1.0.0",
452
454
  "cli": "npm",
453
- "profile_command": "backend-ts+agile",
454
- "profiles": ["core", "backend-ts", "agile"],
455
+ "profile_command": "backend-typescript+agile",
456
+ "profiles": ["core", "backend-typescript", "agile"],
455
457
  "installed_at": "2026-05-25T15:30:00Z",
456
458
  "total_skills": 56,
457
459
  "total_rules": 6,
@@ -523,7 +525,7 @@ mv ~/projects/my-game/.claude.bak ~/projects/my-game/.claude
523
525
 
524
526
  ### Can I combine multiple stack profiles?
525
527
 
526
- Yes. `backend-go+frontend` gives you both Go backend and React frontend skills. Duplicate skills are automatically deduplicated.
528
+ Yes. `backend-go+frontend-react-vite` gives you both Go backend and React frontend skills. Duplicate skills are automatically deduplicated.
527
529
 
528
530
  ### Does the profile persist between Claude Code sessions?
529
531
 
@@ -15,7 +15,6 @@ Verified automatically by `/skill-test static` — no fixture needed.
15
15
  - [ ] Has required frontmatter fields: `name`, `description`, `argument-hint`, `user-invocable`, `allowed-tools`
16
16
  - [ ] Has ≥2 phase headings (## Phase N or numbered ## sections)
17
17
  - [ ] Contains verdict keywords: [list the ones expected, e.g., PASS, FAIL, CONCERNS]
18
- - [ ] Contains "May I write" collaborative protocol language (if skill writes files)
19
18
  - [ ] Has a next-step handoff at the end
20
19
 
21
20
  ---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-arcane",
3
- "version": "2.9.9",
3
+ "version": "2.11.0",
4
4
  "description": "Skills, agents, hooks and rules for Claude Code — installable via npx claude-code-arcane",
5
5
  "type": "module",
6
6
  "bin": {
package/profiles/ai.yaml CHANGED
@@ -10,6 +10,9 @@ skills:
10
10
  - senior-data-scientist
11
11
  - senior-ml-engineer
12
12
  - senior-prompt-engineer
13
+ - agent-designer
14
+ - agent-workflow-designer
15
+ - mcp-server-builder
13
16
 
14
17
  rules:
15
18
  universal:
@@ -1,4 +1,6 @@
1
+ # Bridge for CLIs released before this profile was renamed: they look it up as 'android-native'. Keep identical to mobile-android-kotlin.yaml.
1
2
  name: android-native
3
+ renamed_to: mobile-android-kotlin
2
4
  description: "Android native — Kotlin + Jetpack Compose + Material Design 3"
3
5
  category: mobile
4
6
 
@@ -32,6 +32,8 @@ skills:
32
32
  - performance
33
33
  - async-ops
34
34
  - ci-cd-setup
35
+ - worktree-isolation
36
+ - worktree-isolation-setup
35
37
 
36
38
  rules:
37
39
  universal:
@@ -27,14 +27,8 @@ skills:
27
27
  - audit-log
28
28
  - slo-sli
29
29
  - ci-cd-setup
30
- - agent-designer
31
- - agent-workflow-designer
32
- - email-template-builder
33
- - mcp-server-builder
34
- - ms365-tenant-manager
35
- - snowflake-development
36
- - stripe-integration-expert
37
- - tech-stack-evaluator
30
+ - worktree-isolation
31
+ - worktree-isolation-setup
38
32
 
39
33
  rules:
40
34
  universal:
@@ -32,6 +32,8 @@ skills:
32
32
  - performance
33
33
  - async-ops
34
34
  - ci-cd-setup
35
+ - worktree-isolation
36
+ - worktree-isolation-setup
35
37
 
36
38
  rules:
37
39
  universal:
@@ -30,6 +30,8 @@ skills:
30
30
  - observability
31
31
  - ci-cd-setup
32
32
  - cdn-setup
33
+ - worktree-isolation
34
+ - worktree-isolation-setup
33
35
 
34
36
  rules:
35
37
  universal:
@@ -1,4 +1,6 @@
1
+ # Bridge for CLIs released before this profile was renamed: they look it up as 'backend-ts'. Keep identical to backend-typescript.yaml.
1
2
  name: backend-ts
3
+ renamed_to: backend-typescript
2
4
  description: "Backend TypeScript — Fastify, Prisma, Zod, API design, CI"
3
5
  category: backend
4
6
 
@@ -28,14 +30,8 @@ skills:
28
30
  - websocket-realtime-rooms
29
31
  - search-setup
30
32
  - ci-cd-setup
31
- - agent-designer
32
- - agent-workflow-designer
33
- - email-template-builder
34
- - mcp-server-builder
35
- - ms365-tenant-manager
36
- - snowflake-development
37
- - stripe-integration-expert
38
- - tech-stack-evaluator
33
+ - worktree-isolation
34
+ - worktree-isolation-setup
39
35
 
40
36
  rules:
41
37
  universal:
@@ -0,0 +1,53 @@
1
+ name: backend-typescript
2
+ description: "Backend TypeScript — Fastify, Prisma, Zod, API design, CI"
3
+ category: backend
4
+
5
+ skills:
6
+ - testing
7
+ - deps-audit
8
+ - env-sync
9
+ - observability
10
+ - scaffold-fastify-ts
11
+ - database
12
+ - api-design
13
+ - api-docs
14
+ - api-versioning
15
+ - auth-strategy
16
+ - jwt-strategy
17
+ - mfa-setup
18
+ - oauth-setup
19
+ - rbac-abac
20
+ - performance
21
+ - async-ops
22
+ - audit-log
23
+ - monorepo-setup
24
+ - data-migrations
25
+ - caching-strategy
26
+ - webhooks
27
+ - rate-limiting
28
+ - websocket-realtime-rooms
29
+ - search-setup
30
+ - ci-cd-setup
31
+ - worktree-isolation
32
+ - worktree-isolation-setup
33
+
34
+ rules:
35
+ universal:
36
+ - backend-code
37
+ - api-code
38
+ - migration-code
39
+ gamedev:
40
+ []
41
+
42
+ agents:
43
+ - engineering
44
+
45
+ permissions:
46
+ allow:
47
+ - "Bash(npm *)"
48
+ - "Bash(yarn *)"
49
+ - "Bash(pnpm *)"
50
+ - "Bash(docker ps*)"
51
+ - "Bash(docker images*)"
52
+ deny:
53
+ []
@@ -17,6 +17,7 @@ skills:
17
17
  rules:
18
18
  universal:
19
19
  - blender-pipeline
20
+ - blender-files
20
21
  gamedev:
21
22
  []
22
23
 
@@ -1,4 +1,6 @@
1
+ # Bridge for CLIs released before this profile was renamed: they look it up as 'flutter'. Keep identical to mobile-flutter.yaml.
1
2
  name: flutter
3
+ renamed_to: mobile-flutter
2
4
  description: "Flutter + Dart cross-platform development"
3
5
  category: mobile
4
6
 
@@ -0,0 +1,39 @@
1
+ name: frontend-react-vite
2
+ description: "Frontend React + Vite + TypeScript"
3
+ category: frontend
4
+
5
+ skills:
6
+ - testing
7
+ - i18n-setup
8
+ - deps-audit
9
+ - env-sync
10
+ - observability
11
+ - release
12
+ - onboard
13
+ - scaffold-react-vite
14
+ - state-management
15
+ - form-validation
16
+ - accessibility
17
+ - web-security
18
+ - ci-cd-setup
19
+ - cdn-setup
20
+ - file-uploads
21
+ - frontend-dev
22
+ - csp-headers
23
+
24
+ rules:
25
+ universal:
26
+ - frontend-code
27
+ gamedev:
28
+ []
29
+
30
+ agents:
31
+ - engineering
32
+
33
+ permissions:
34
+ allow:
35
+ - "Bash(npm *)"
36
+ - "Bash(yarn *)"
37
+ - "Bash(pnpm *)"
38
+ deny:
39
+ []
@@ -1,4 +1,6 @@
1
+ # Bridge for CLIs released before this profile was renamed: they look it up as 'frontend'. Keep identical to frontend-react-vite.yaml.
1
2
  name: frontend
3
+ renamed_to: frontend-react-vite
2
4
  description: "Frontend React + Vite + TypeScript"
3
5
  category: frontend
4
6
 
@@ -27,6 +27,8 @@ skills:
27
27
  - incident-commander
28
28
  - incident-response
29
29
  - git-worktree-manager
30
+ - worktree-isolation
31
+ - worktree-isolation-setup
30
32
 
31
33
  rules:
32
34
  universal:
@@ -1,11 +1,16 @@
1
1
  name: integrations
2
- description: "Integraciones externas — GitHub Projects, Slack, Postman"
2
+ description: "Integraciones externas — GitHub Projects, Slack, Postman, Stripe, email templates, Microsoft 365, Snowflake, evaluación de stack"
3
3
  category: management
4
4
 
5
5
  skills:
6
6
  - gh-projects
7
7
  - slack
8
8
  - postman
9
+ - stripe-integration-expert
10
+ - email-template-builder
11
+ - ms365-tenant-manager
12
+ - snowflake-development
13
+ - tech-stack-evaluator
9
14
 
10
15
  rules:
11
16
  universal:
@@ -1,4 +1,6 @@
1
+ # Bridge for CLIs released before this profile was renamed: they look it up as 'ios-native'. Keep identical to mobile-ios-swift.yaml.
1
2
  name: ios-native
3
+ renamed_to: mobile-ios-swift
2
4
  description: "iOS native — Swift + UIKit/SwiftUI + Apple HIG"
3
5
  category: mobile
4
6
 
@@ -15,6 +15,7 @@ skills:
15
15
  rules:
16
16
  universal:
17
17
  - meshy-assets
18
+ - meshy-files
18
19
  gamedev:
19
20
  []
20
21
 
@@ -0,0 +1,36 @@
1
+ name: mobile-android-kotlin
2
+ description: "Android native — Kotlin + Jetpack Compose + Material Design 3"
3
+ category: mobile
4
+
5
+ skills:
6
+ - testing
7
+ - deps-audit
8
+ - env-sync
9
+ - observability
10
+ - release
11
+ - onboard
12
+ - perf-profile
13
+ - android-native-dev
14
+ - state-management
15
+ - form-validation
16
+ - accessibility
17
+ - auth-strategy
18
+ - ci-cd-setup
19
+ - deploy-check
20
+
21
+ rules:
22
+ universal:
23
+ []
24
+ gamedev:
25
+ []
26
+
27
+ agents:
28
+ - engineering
29
+
30
+ permissions:
31
+ allow:
32
+ - "Bash(./gradlew *)"
33
+ - "Bash(gradle *)"
34
+ - "Bash(adb *)"
35
+ deny:
36
+ []
@@ -0,0 +1,37 @@
1
+ name: mobile-flutter
2
+ description: "Flutter + Dart cross-platform development"
3
+ category: mobile
4
+
5
+ skills:
6
+ - testing
7
+ - i18n-setup
8
+ - deps-audit
9
+ - env-sync
10
+ - observability
11
+ - release
12
+ - onboard
13
+ - perf-profile
14
+ - flutter-dev
15
+ - state-management
16
+ - form-validation
17
+ - accessibility
18
+ - auth-strategy
19
+ - ci-cd-setup
20
+ - deploy-check
21
+
22
+ rules:
23
+ universal:
24
+ - frontend-code
25
+ gamedev:
26
+ []
27
+
28
+ agents:
29
+ - engineering
30
+
31
+ permissions:
32
+ allow:
33
+ - "Bash(flutter *)"
34
+ - "Bash(dart *)"
35
+ - "Bash(pub *)"
36
+ deny:
37
+ []
@@ -0,0 +1,37 @@
1
+ name: mobile-ios-swift
2
+ description: "iOS native — Swift + UIKit/SwiftUI + Apple HIG"
3
+ category: mobile
4
+
5
+ skills:
6
+ - testing
7
+ - deps-audit
8
+ - env-sync
9
+ - observability
10
+ - release
11
+ - onboard
12
+ - perf-profile
13
+ - ios-application-dev
14
+ - state-management
15
+ - form-validation
16
+ - accessibility
17
+ - auth-strategy
18
+ - ci-cd-setup
19
+ - deploy-check
20
+
21
+ rules:
22
+ universal:
23
+ []
24
+ gamedev:
25
+ []
26
+
27
+ agents:
28
+ - engineering
29
+
30
+ permissions:
31
+ allow:
32
+ - "Bash(xcodebuild *)"
33
+ - "Bash(swift *)"
34
+ - "Bash(pod *)"
35
+ - "Bash(xcrun *)"
36
+ deny:
37
+ []
@@ -0,0 +1,39 @@
1
+ name: mobile-react-native
2
+ description: "Mobile React Native + Expo + TypeScript"
3
+ category: mobile
4
+
5
+ skills:
6
+ - testing
7
+ - i18n-setup
8
+ - deps-audit
9
+ - env-sync
10
+ - observability
11
+ - release
12
+ - onboard
13
+ - perf-profile
14
+ - scaffold-react-native
15
+ - react-native-dev
16
+ - state-management
17
+ - form-validation
18
+ - accessibility
19
+ - auth-strategy
20
+ - file-uploads
21
+ - ci-cd-setup
22
+ - deploy-check
23
+
24
+ rules:
25
+ universal:
26
+ - frontend-code
27
+ gamedev:
28
+ []
29
+
30
+ agents:
31
+ - engineering
32
+
33
+ permissions:
34
+ allow:
35
+ - "Bash(npm *)"
36
+ - "Bash(yarn *)"
37
+ - "Bash(pnpm *)"
38
+ deny:
39
+ []
@@ -1,4 +1,6 @@
1
+ # Bridge for CLIs released before this profile was renamed: they look it up as 'mobile'. Keep identical to mobile-react-native.yaml.
1
2
  name: mobile
3
+ renamed_to: mobile-react-native
2
4
  description: "Mobile React Native + Expo + TypeScript"
3
5
  category: mobile
4
6
 
@@ -0,0 +1,72 @@
1
+ ---
2
+ paths:
3
+ - "**/*.blend"
4
+ - "**/*.fbx"
5
+ - "**/*.glb"
6
+ - "**/*.gltf"
7
+ ---
8
+
9
+ # Blender Files
10
+
11
+ Como tiene que salir un asset de Blender hacia un engine o la web. Como operar Blender sin romper nada esta en `.claude/rules/blender-pipeline.md`, que se carga siempre.
12
+
13
+ ## Ejes, escala y unidades
14
+
15
+ Verificar una vez por proyecto, anotarlo, no volver a pensarlo.
16
+
17
+ | Destino | Convencion | Al exportar desde Blender |
18
+ |---|---|---|
19
+ | Blender | Z-up, right-handed, 1 unidad = 1 m | — |
20
+ | glTF / GLB | Y-up, metros | El exporter convierte solo (`+Y up`) |
21
+ | Unity | Y-up, left-handed, 1 unidad = 1 m | glTF sale derecho; en FBX revisar el eje |
22
+ | UE5 | Z-up, left-handed, 1 unidad = 1 cm | Factor 100 |
23
+
24
+ Reglas duras:
25
+
26
+ - **Aplicar escala antes de exportar** (`Object → Apply → Scale`). Un objeto que sale con `scale`
27
+ distinto de 1 arrastra el problema al engine y rompe la fisica y el skinning.
28
+ - Origen al piso para props y personajes; al centro para objetos que rotan sobre si mismos.
29
+ - Un nodo con escala `100` o `0.01` en el archivo exportado es una conversion de unidades sin
30
+ aplicar, no una decision de diseno. Se corrige, no se documenta.
31
+
32
+ ## Topologia
33
+
34
+ - **Quads en todo lo que deforma.** Tris solo en geometria estatica. N-gons en nada que deforme.
35
+ - Edge loops en articulaciones, poles de 5 aristas o menos.
36
+ - Presupuesto de triangulos declarado **antes** de modelar, no medido despues.
37
+ - Un LOD generado con Decimate es un borrador. Para heroes va retopo a mano.
38
+
39
+ ## Materiales y texturas
40
+
41
+ - **Principled BSDF y nada mas** en lo que se exporta. Los nodos procedurales no sobreviven a
42
+ glTF ni a FBX: si el look depende de ellos, hay que bakearlo a textura.
43
+ - Color space: Base Color en sRGB; Normal, Roughness, Metallic y AO en **Non-Color**. Es el bug
44
+ mas comun y el mas silencioso.
45
+ - Normal maps: Blender, glTF y Unity usan OpenGL (+Y). **UE5 usa DirectX (-Y)**: hay que invertir
46
+ el canal verde o marcarlo en el import.
47
+ - Resoluciones potencia de dos. Texel density consistente entre assets del mismo set.
48
+ - Cantidad de materiales = draw calls. Atlas antes de sumar materiales.
49
+
50
+ ## Animacion
51
+
52
+ - **Los constraints no se exportan, los keyframes si.** Todo rig con IK, drivers o constraints se
53
+ bakea (`nla.bake` con visual keying) antes de exportar.
54
+ - Frame rate del `.blend` igual al del engine. Un mismatch se ve como animacion lenta o acelerada,
55
+ no como error.
56
+ - Huesos con sufijo `.L` / `.R` para que la simetria funcione.
57
+ - Root motion: hueso raiz en el origen. Decidir in-place vs root motion **antes** de animar.
58
+
59
+ ## Git
60
+
61
+ - `*.blend *.fbx *.glb *.gltf` por **Git LFS**. Verificar `git lfs version` antes de agregar las
62
+ entradas: peor que no tenerlas es tenerlas sin LFS instalado.
63
+ - `*.blend1` y `*.blend2` (backups de Blender) van al `.gitignore`, nunca al repo.
64
+ - Las texturas fuente (`.psd`, `.kra`, `.exr` de bake) por LFS; los `.png` finales tambien.
65
+
66
+ ## Integracion con el resto del stack
67
+
68
+ `asset-spec` define que asset hace falta → Meshy o modelado a mano lo produce → **Blender lo
69
+ limpia y lo exporta** → `asset-audit` valida el resultado en el proyecto.
70
+
71
+ Blender es el paso del medio, no el principio ni el final. Si el asset vino de `meshy-derive`, el
72
+ `.blend` que bajo es el punto de entrada; no se regenera desde Meshy para arreglar topologia.