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.
- package/CHANGELOG.md +29 -0
- package/README.md +45 -43
- package/dist/cli.js +79 -33
- package/docs/SKILLS-CATALOG.md +4 -2
- package/docs/USER-GUIDE.md +24 -22
- package/docs/templates/skill-test-spec.md +0 -1
- package/package.json +1 -1
- package/profiles/ai.yaml +3 -0
- package/profiles/android-native.yaml +2 -0
- package/profiles/backend-dotnet.yaml +2 -0
- package/profiles/backend-go.yaml +2 -8
- package/profiles/backend-nestjs.yaml +2 -0
- package/profiles/backend-nextjs.yaml +2 -0
- package/profiles/backend-ts.yaml +4 -8
- package/profiles/backend-typescript.yaml +53 -0
- package/profiles/blender.yaml +1 -0
- package/profiles/flutter.yaml +2 -0
- package/profiles/frontend-react-vite.yaml +39 -0
- package/profiles/frontend.yaml +2 -0
- package/profiles/infra.yaml +2 -0
- package/profiles/integrations.yaml +6 -1
- package/profiles/ios-native.yaml +2 -0
- package/profiles/meshy.yaml +1 -0
- package/profiles/mobile-android-kotlin.yaml +36 -0
- package/profiles/mobile-flutter.yaml +37 -0
- package/profiles/mobile-ios-swift.yaml +37 -0
- package/profiles/mobile-react-native.yaml +39 -0
- package/profiles/mobile.yaml +2 -0
- package/rules/blender-files.md +72 -0
- package/rules/blender-pipeline.md +1 -63
- package/rules/gamedev/narrative.md +1 -1
- package/rules/meshy-assets.md +9 -78
- package/rules/meshy-files.md +83 -0
- package/skills/agent-protocol/SKILL.md +1 -1
- package/skills/agent-protocol/references/communication-standard.md +2 -2
- package/skills/ai-security/SKILL.md +4 -0
- package/skills/arcane-add/SKILL.md +1 -1
- package/skills/arcane-list/SKILL.md +3 -3
- package/skills/arcane-status/SKILL.md +1 -1
- package/skills/audit-dev/SKILL.md +1 -1
- package/skills/blender-animation/SKILL.md +1 -1
- package/skills/blender-export/SKILL.md +1 -1
- package/skills/blender-materials/SKILL.md +1 -1
- package/skills/blender-modeling/SKILL.md +1 -1
- package/skills/check/SKILL.md +1 -1
- package/skills/chief-of-staff/SKILL.md +1 -1
- package/skills/cloud-security/SKILL.md +4 -0
- package/skills/freelance-kickoff/SKILL.md +1 -1
- package/skills/isms-audit-expert/SKILL.md +2 -0
- package/skills/meshy-derive/SKILL.md +1 -1
- package/skills/meshy-generate/SKILL.md +1 -1
- package/skills/meshy-setup/SKILL.md +1 -1
- package/skills/owasp-top10-check/SKILL.md +1 -1
- package/skills/qms-audit-expert/SKILL.md +2 -0
- package/skills/security-pen-testing/SKILL.md +1 -1
- package/skills/seo-audit/SKILL.md +1 -1
- package/skills/skill-auditor/SKILL.md +0 -1
- package/skills/skill-improve/SKILL.md +6 -7
- package/skills/skill-test/SKILL.md +3 -3
- package/skills/skill-test/references/static-checks.md +13 -8
- package/skills/standup-report/SKILL.md +1 -1
- package/skills/vn-gdd/SKILL.md +2 -0
- package/skills/web-security/SKILL.md +4 -0
- package/skills/worktree-isolation/README.md +6 -6
- package/skills/worktree-isolation/SKILL.md +5 -2
- package/skills/worktree-isolation-setup/README.md +7 -11
- package/skills/worktree-isolation-setup/SKILL.md +15 -6
- package/skills/worktree-isolation-setup/scripts/apply.py +0 -178
- package/skills/worktree-isolation-setup/scripts/install_hook.py +0 -118
- package/skills/worktree-isolation-setup/scripts/lib.py +0 -371
package/docs/USER-GUIDE.md
CHANGED
|
@@ -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 **
|
|
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-
|
|
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-
|
|
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-
|
|
72
|
+
npx claude-code-arcane install backend-typescript
|
|
73
73
|
|
|
74
74
|
# Combine profiles with +
|
|
75
|
-
npx claude-code-arcane install backend-
|
|
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-
|
|
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-
|
|
223
|
-
| **Frontend & Design** | `frontend`, `design` |
|
|
224
|
-
| **Mobile** | `mobile`, `flutter`, `android-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
454
|
-
"profiles": ["core", "backend-
|
|
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
package/profiles/ai.yaml
CHANGED
|
@@ -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
|
|
package/profiles/backend-go.yaml
CHANGED
|
@@ -27,14 +27,8 @@ skills:
|
|
|
27
27
|
- audit-log
|
|
28
28
|
- slo-sli
|
|
29
29
|
- ci-cd-setup
|
|
30
|
-
-
|
|
31
|
-
-
|
|
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:
|
package/profiles/backend-ts.yaml
CHANGED
|
@@ -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
|
-
-
|
|
32
|
-
-
|
|
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
|
+
[]
|
package/profiles/blender.yaml
CHANGED
package/profiles/flutter.yaml
CHANGED
|
@@ -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
|
+
[]
|
package/profiles/frontend.yaml
CHANGED
package/profiles/infra.yaml
CHANGED
|
@@ -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:
|
package/profiles/ios-native.yaml
CHANGED
package/profiles/meshy.yaml
CHANGED
|
@@ -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
|
+
[]
|
package/profiles/mobile.yaml
CHANGED
|
@@ -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.
|