@nextsparkjs/ai-workflow 0.1.0-beta.100
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/LICENSE +21 -0
- package/README.md +115 -0
- package/claude/_docs/workflows-optimizations.md +359 -0
- package/claude/agents/api-tester.md +634 -0
- package/claude/agents/architecture-supervisor.md +1351 -0
- package/claude/agents/backend-developer.md +997 -0
- package/claude/agents/backend-validator.md +417 -0
- package/claude/agents/bdd-docs-writer.md +737 -0
- package/claude/agents/block-developer.md +677 -0
- package/claude/agents/code-reviewer.md +1432 -0
- package/claude/agents/db-developer.md +721 -0
- package/claude/agents/db-validator.md +407 -0
- package/claude/agents/demo-video-generator.md +493 -0
- package/claude/agents/documentation-writer.md +1268 -0
- package/claude/agents/frontend-developer.md +1234 -0
- package/claude/agents/frontend-validator.md +777 -0
- package/claude/agents/functional-validator.md +630 -0
- package/claude/agents/mock-analyst.md +387 -0
- package/claude/agents/product-manager.md +963 -0
- package/claude/agents/qa-automation.md +1762 -0
- package/claude/agents/release-manager.md +634 -0
- package/claude/agents/selectors-translator.md +262 -0
- package/claude/agents/unit-test-writer.md +785 -0
- package/claude/agents/visual-comparator.md +329 -0
- package/claude/agents/workflow-maintainer.md +352 -0
- package/claude/commands/do/README.md +88 -0
- package/claude/commands/do/create-api.md +64 -0
- package/claude/commands/do/create-entity.md +66 -0
- package/claude/commands/do/create-migration.md +64 -0
- package/claude/commands/do/create-plugin.md +56 -0
- package/claude/commands/do/create-theme.md +70 -0
- package/claude/commands/do/mock-data.md +67 -0
- package/claude/commands/do/reset-db.md +71 -0
- package/claude/commands/do/setup-scheduled-action.md +75 -0
- package/claude/commands/do/sync-code-review.md +117 -0
- package/claude/commands/do/update-selectors.md +112 -0
- package/claude/commands/do/use-skills.md +90 -0
- package/claude/commands/do/validate-blocks.md +69 -0
- package/claude/commands/how-to/README.md +261 -0
- package/claude/commands/how-to/add-metadata.md +692 -0
- package/claude/commands/how-to/add-taxonomies.md +806 -0
- package/claude/commands/how-to/add-translations.md +571 -0
- package/claude/commands/how-to/create-api.md +577 -0
- package/claude/commands/how-to/create-block.md +575 -0
- package/claude/commands/how-to/create-child-entities.md +771 -0
- package/claude/commands/how-to/create-entity.md +597 -0
- package/claude/commands/how-to/create-migrations.md +605 -0
- package/claude/commands/how-to/create-plugin.md +654 -0
- package/claude/commands/how-to/customize-app.md +481 -0
- package/claude/commands/how-to/customize-dashboard.md +553 -0
- package/claude/commands/how-to/customize-theme.md +438 -0
- package/claude/commands/how-to/define-features-flows.md +632 -0
- package/claude/commands/how-to/deploy.md +507 -0
- package/claude/commands/how-to/handle-file-uploads.md +746 -0
- package/claude/commands/how-to/implement-search.md +1001 -0
- package/claude/commands/how-to/install-plugins.md +352 -0
- package/claude/commands/how-to/manage-test-coverage.md +984 -0
- package/claude/commands/how-to/run-tests.md +400 -0
- package/claude/commands/how-to/set-app-languages.md +601 -0
- package/claude/commands/how-to/set-plans-and-permissions.md +575 -0
- package/claude/commands/how-to/set-scheduled-actions.md +527 -0
- package/claude/commands/how-to/set-user-roles-and-permissions.md +550 -0
- package/claude/commands/how-to/setup-authentication.md +388 -0
- package/claude/commands/how-to/setup-claude-code.md +440 -0
- package/claude/commands/how-to/setup-database.md +274 -0
- package/claude/commands/how-to/setup-email-providers.md +598 -0
- package/claude/commands/how-to/setup-mobile-dev.md +627 -0
- package/claude/commands/how-to/start.md +500 -0
- package/claude/commands/how-to/use-devtools.md +639 -0
- package/claude/commands/how-to/use-superadmin.md +622 -0
- package/claude/commands/session/README.md +193 -0
- package/claude/commands/session/block-create.md +190 -0
- package/claude/commands/session/block-list.md +203 -0
- package/claude/commands/session/block-update.md +192 -0
- package/claude/commands/session/block-validate.md +218 -0
- package/claude/commands/session/changelog.md +115 -0
- package/claude/commands/session/close.md +225 -0
- package/claude/commands/session/commit.md +174 -0
- package/claude/commands/session/db-entity.md +206 -0
- package/claude/commands/session/db-fix.md +212 -0
- package/claude/commands/session/db-sample.md +206 -0
- package/claude/commands/session/demo.md +178 -0
- package/claude/commands/session/doc-bdd.md +207 -0
- package/claude/commands/session/doc-feature.md +218 -0
- package/claude/commands/session/doc-read.md +225 -0
- package/claude/commands/session/execute.md +204 -0
- package/claude/commands/session/explain.md +202 -0
- package/claude/commands/session/fix-bug.md +210 -0
- package/claude/commands/session/fix-build.md +182 -0
- package/claude/commands/session/fix-test.md +189 -0
- package/claude/commands/session/pending.md +232 -0
- package/claude/commands/session/refine.md +188 -0
- package/claude/commands/session/resume.md +192 -0
- package/claude/commands/session/review.md +192 -0
- package/claude/commands/session/scope-change.md +181 -0
- package/claude/commands/session/start-blocks.md +347 -0
- package/claude/commands/session/start.md +604 -0
- package/claude/commands/session/status.md +169 -0
- package/claude/commands/session/test-fix.md +221 -0
- package/claude/commands/session/test-run.md +203 -0
- package/claude/commands/session/test-write.md +242 -0
- package/claude/commands/session/validate.md +162 -0
- package/claude/config/context.json +40 -0
- package/claude/config/github.json +69 -0
- package/claude/config/github.schema.json +106 -0
- package/claude/config/team.json +46 -0
- package/claude/config/team.schema.json +106 -0
- package/claude/config/workspace.json +43 -0
- package/claude/config/workspace.schema.json +75 -0
- package/claude/skills/README.md +228 -0
- package/claude/skills/accessibility/SKILL.md +573 -0
- package/claude/skills/api-bypass-layers/SKILL.md +550 -0
- package/claude/skills/asana-integration/SKILL.md +499 -0
- package/claude/skills/better-auth/SKILL.md +666 -0
- package/claude/skills/billing-subscriptions/SKILL.md +660 -0
- package/claude/skills/block-decision-matrix/SKILL.md +359 -0
- package/claude/skills/clickup-integration/SKILL.md +434 -0
- package/claude/skills/core-theme-responsibilities/SKILL.md +485 -0
- package/claude/skills/create-plugin/SKILL.md +425 -0
- package/claude/skills/create-theme/SKILL.md +331 -0
- package/claude/skills/cypress-api/SKILL.md +511 -0
- package/claude/skills/cypress-api/scripts/generate-api-controller.py +329 -0
- package/claude/skills/cypress-api/scripts/generate-api-test.py +930 -0
- package/claude/skills/cypress-e2e/SKILL.md +526 -0
- package/claude/skills/cypress-e2e/scripts/extract-selectors.py +383 -0
- package/claude/skills/cypress-e2e/scripts/generate-uat-test.py +788 -0
- package/claude/skills/cypress-selectors/SKILL.md +309 -0
- package/claude/skills/cypress-selectors/scripts/extract-missing.py +243 -0
- package/claude/skills/cypress-selectors/scripts/generate-block-selectors.py +283 -0
- package/claude/skills/cypress-selectors/scripts/validate-selectors.py +145 -0
- package/claude/skills/database-migrations/SKILL.md +335 -0
- package/claude/skills/database-migrations/scripts/generate-sample-data.py +284 -0
- package/claude/skills/database-migrations/scripts/validate-migration.py +323 -0
- package/claude/skills/design-system/SKILL.md +682 -0
- package/claude/skills/documentation/SKILL.md +540 -0
- package/claude/skills/entity-api/SKILL.md +482 -0
- package/claude/skills/entity-system/SKILL.md +635 -0
- package/claude/skills/entity-system/scripts/generate-child-migration.py +298 -0
- package/claude/skills/entity-system/scripts/generate-metas-migration.py +233 -0
- package/claude/skills/entity-system/scripts/generate-migration.py +382 -0
- package/claude/skills/entity-system/scripts/generate-sample-data.py +418 -0
- package/claude/skills/entity-system/scripts/scaffold-entity.py +661 -0
- package/claude/skills/github/SKILL.md +467 -0
- package/claude/skills/i18n-nextintl/SKILL.md +302 -0
- package/claude/skills/i18n-nextintl/scripts/add-translation.py +243 -0
- package/claude/skills/i18n-nextintl/scripts/extract-hardcoded.py +246 -0
- package/claude/skills/i18n-nextintl/scripts/validate-translations.py +260 -0
- package/claude/skills/impact-analysis/SKILL.md +203 -0
- package/claude/skills/jest-unit/SKILL.md +306 -0
- package/claude/skills/jest-unit/references/component-testing.md +371 -0
- package/claude/skills/jest-unit/references/mocking-patterns.md +380 -0
- package/claude/skills/jest-unit/references/service-hook-testing.md +454 -0
- package/claude/skills/jira-integration/SKILL.md +539 -0
- package/claude/skills/media-library/SKILL.md +743 -0
- package/claude/skills/mock-analysis/SKILL.md +276 -0
- package/claude/skills/monorepo-architecture/SKILL.md +162 -0
- package/claude/skills/nextjs-api-development/SKILL.md +364 -0
- package/claude/skills/nextjs-api-development/scripts/generate-crud-tests.py +456 -0
- package/claude/skills/nextjs-api-development/scripts/scaffold-endpoint.py +481 -0
- package/claude/skills/nextjs-api-development/scripts/validate-api.py +283 -0
- package/claude/skills/notion-integration/SKILL.md +641 -0
- package/claude/skills/npm-development-workflow/SKILL.md +480 -0
- package/claude/skills/page-builder-blocks/SKILL.md +530 -0
- package/claude/skills/page-builder-blocks/scripts/scaffold-block.py +444 -0
- package/claude/skills/permissions-system/SKILL.md +619 -0
- package/claude/skills/plugins/SKILL.md +340 -0
- package/claude/skills/plugins/references/plugin-templates.md +414 -0
- package/claude/skills/plugins/references/plugin-testing.md +353 -0
- package/claude/skills/plugins/references/plugin-types.md +198 -0
- package/claude/skills/plugins/scripts/scaffold-plugin.py +443 -0
- package/claude/skills/pom-patterns/SKILL.md +452 -0
- package/claude/skills/pom-patterns/scripts/generate-pom.py +392 -0
- package/claude/skills/rate-limiting/SKILL.md +342 -0
- package/claude/skills/react-best-practices/AGENTS.md +2410 -0
- package/claude/skills/react-best-practices/README.md +123 -0
- package/claude/skills/react-best-practices/SKILL.md +125 -0
- package/claude/skills/react-best-practices/metadata.json +15 -0
- package/claude/skills/react-best-practices/rules/_sections.md +46 -0
- package/claude/skills/react-best-practices/rules/_template.md +28 -0
- package/claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/claude/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/claude/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/claude/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/claude/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/claude/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/claude/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/claude/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/claude/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/claude/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/claude/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/claude/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/claude/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/claude/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/claude/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/claude/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/claude/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/claude/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/claude/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/claude/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/claude/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/claude/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/claude/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/claude/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/claude/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/claude/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/claude/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/claude/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/claude/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/claude/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/claude/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/claude/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/claude/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/claude/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/claude/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/claude/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/claude/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/claude/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/claude/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/claude/skills/react-best-practices/rules/server-cache-react.md +76 -0
- package/claude/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/claude/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/claude/skills/react-patterns/SKILL.md +688 -0
- package/claude/skills/registry-system/SKILL.md +331 -0
- package/claude/skills/scheduled-actions/SKILL.md +671 -0
- package/claude/skills/scope-enforcement/SKILL.md +542 -0
- package/claude/skills/scope-enforcement/scripts/validate-scope.py +357 -0
- package/claude/skills/server-actions/SKILL.md +493 -0
- package/claude/skills/service-layer/SKILL.md +587 -0
- package/claude/skills/session-management/SKILL.md +266 -0
- package/claude/skills/session-management/scripts/create-session.py +166 -0
- package/claude/skills/session-management/scripts/iteration-close.sh +105 -0
- package/claude/skills/session-management/scripts/iteration-init.sh +180 -0
- package/claude/skills/session-management/scripts/session-archive.sh +87 -0
- package/claude/skills/session-management/scripts/session-close.sh +133 -0
- package/claude/skills/session-management/scripts/session-init.sh +225 -0
- package/claude/skills/session-management/scripts/session-list.sh +163 -0
- package/claude/skills/session-management/scripts/split-plan.sh +116 -0
- package/claude/skills/shadcn-components/SKILL.md +586 -0
- package/claude/skills/shadcn-theming/SKILL.md +446 -0
- package/claude/skills/suspense-loading/SKILL.md +280 -0
- package/claude/skills/tailwind-theming/SKILL.md +507 -0
- package/claude/skills/tanstack-query/SKILL.md +608 -0
- package/claude/skills/test-coverage/SKILL.md +239 -0
- package/claude/skills/web-design-guidelines/SKILL.md +39 -0
- package/claude/skills/zod-validation/SKILL.md +537 -0
- package/claude/templates/blocks/progress.md +86 -0
- package/claude/templates/iteration/changes.md +61 -0
- package/claude/templates/iteration/progress.md +55 -0
- package/claude/templates/log.md +31 -0
- package/claude/templates/story/context.md +77 -0
- package/claude/templates/story/pendings.md +37 -0
- package/claude/templates/story/plan.md +299 -0
- package/claude/templates/story/requirements.md +109 -0
- package/claude/templates/story/scope.json +10 -0
- package/claude/templates/story/tests.md +91 -0
- package/claude/templates/task/progress.md +58 -0
- package/claude/templates/task/requirements.md +54 -0
- package/claude/workflows/README.md +154 -0
- package/claude/workflows/blocks.md +614 -0
- package/claude/workflows/story.md +1207 -0
- package/claude/workflows/task.md +927 -0
- package/claude/workflows/tweak.md +527 -0
- package/cursor/.gitkeep +0 -0
- package/package.json +35 -0
- package/scripts/postinstall.mjs +198 -0
- package/scripts/setup.mjs +282 -0
- package/scripts/sync.mjs +209 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Sync with GitHub PR code review: evaluate, fix, and respond"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /do:sync-code-review
|
|
6
|
+
|
|
7
|
+
**PR URL or Number:** {{{ input }}}
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Related Skills
|
|
12
|
+
|
|
13
|
+
See `.claude/skills/github/SKILL.md` for general GitHub workflow patterns (branches, commits, PRs).
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Quick Reference
|
|
18
|
+
|
|
19
|
+
### Workflow
|
|
20
|
+
|
|
21
|
+
1. **Fetch PR** → `gh pr view <number> --json comments,headRefName`
|
|
22
|
+
2. **Check for review** → Look for @claude code review comment
|
|
23
|
+
3. **If no review** → Comment `@claude` and poll for response (30s intervals, max 5min)
|
|
24
|
+
4. **Checkout branch** → `git checkout <headRefName>`
|
|
25
|
+
5. **Evaluate issues** → ACCEPT / PARTIAL / DEFER / REJECT
|
|
26
|
+
6. **Implement fixes** → For ACCEPT and PARTIAL issues
|
|
27
|
+
7. **Verify** → `pnpm build`
|
|
28
|
+
8. **Commit & push** → With structured message
|
|
29
|
+
9. **Comment on PR** → With response table
|
|
30
|
+
10. **Request re-review** → Comment `@claude` again to validate fixes
|
|
31
|
+
|
|
32
|
+
### Evaluation Criteria
|
|
33
|
+
|
|
34
|
+
| Action | When to Use |
|
|
35
|
+
|--------|-------------|
|
|
36
|
+
| **ACCEPT** | Issue is valid, fix as suggested |
|
|
37
|
+
| **PARTIAL** | Issue is valid, will fix differently |
|
|
38
|
+
| **DEFER** | Valid but out of scope |
|
|
39
|
+
| **REJECT** | Based on incorrect assumption or intentional design |
|
|
40
|
+
|
|
41
|
+
### Evaluation Process
|
|
42
|
+
|
|
43
|
+
1. **Read the code review carefully** - Identify all reported issues (vulnerabilities, race conditions, bugs, style issues, etc.)
|
|
44
|
+
2. **Perform your own analysis** - For each issue, verify if it's correctly reported:
|
|
45
|
+
- Is the issue real or a false positive?
|
|
46
|
+
- Does the suggested fix make sense?
|
|
47
|
+
- Are there better alternatives?
|
|
48
|
+
3. **Prioritize by severity** - Critical (security/data loss) > Medium (bugs) > Minor (style)
|
|
49
|
+
4. **Decide action for each** - ACCEPT, PARTIAL, DEFER, or REJECT with reasoning
|
|
50
|
+
|
|
51
|
+
### Response Format
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
## Code Review Response
|
|
55
|
+
|
|
56
|
+
### Changes Implemented
|
|
57
|
+
|
|
58
|
+
| Issue | Severity | Status | Details |
|
|
59
|
+
|-------|----------|--------|---------|
|
|
60
|
+
| <title> | Critical/Medium/Minor | ✅ Fixed / ⏭️ Deferred / ❌ Won't Fix | <details> |
|
|
61
|
+
|
|
62
|
+
### Explanation for Deferred/Rejected Issues
|
|
63
|
+
|
|
64
|
+
> For each DEFER or REJECT, explain your reasoning to reach agreement with the reviewer.
|
|
65
|
+
|
|
66
|
+
<explanations>
|
|
67
|
+
|
|
68
|
+
### Verification
|
|
69
|
+
|
|
70
|
+
- [x] All accepted issues addressed
|
|
71
|
+
- [x] Build passes
|
|
72
|
+
- [x] Ready for re-review
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Commands
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Fetch PR data
|
|
82
|
+
gh pr view <number> --repo <owner/repo> --json number,title,comments,headRefName
|
|
83
|
+
|
|
84
|
+
# Request code review
|
|
85
|
+
gh pr comment <number> --body "@claude"
|
|
86
|
+
|
|
87
|
+
# Poll for review response (30s intervals, max 5min)
|
|
88
|
+
for i in {1..10}; do
|
|
89
|
+
REVIEW=$(gh pr view <number> --json comments --jq '.comments[-1].body' | grep -i "code review complete")
|
|
90
|
+
if [ -n "$REVIEW" ]; then
|
|
91
|
+
echo "Review received"
|
|
92
|
+
break
|
|
93
|
+
fi
|
|
94
|
+
echo "Waiting for review... ($i/10)"
|
|
95
|
+
sleep 30
|
|
96
|
+
done
|
|
97
|
+
|
|
98
|
+
# Commit with attribution
|
|
99
|
+
git commit -m "fix: address code review feedback for PR #<number>
|
|
100
|
+
|
|
101
|
+
Co-Authored-By: Claude Code <noreply@anthropic.com>"
|
|
102
|
+
|
|
103
|
+
# Comment response
|
|
104
|
+
gh pr comment <number> --body "<response>"
|
|
105
|
+
|
|
106
|
+
# Request re-review after fixes
|
|
107
|
+
gh pr comment <number> --body "@claude"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Example
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
/do:sync-code-review https://github.com/NextSpark-js/nextspark/pull/19
|
|
116
|
+
/do:sync-code-review 19
|
|
117
|
+
```
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Synchronize selectors between components, core definitions, and POM classes"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# do:update-selectors
|
|
6
|
+
|
|
7
|
+
**Context:** {{{ input }}}
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## MANDATORY: Read Skills First
|
|
12
|
+
|
|
13
|
+
Read these skills completely before proceeding:
|
|
14
|
+
|
|
15
|
+
1. `.claude/skills/cypress-selectors/SKILL.md` - 3-level selector system
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Selector Architecture
|
|
20
|
+
|
|
21
|
+
The selector system has THREE layers:
|
|
22
|
+
|
|
23
|
+
1. **CORE_SELECTORS** - `packages/core/src/lib/selectors/` (source of truth)
|
|
24
|
+
2. **BLOCK_SELECTORS** - Theme block selectors
|
|
25
|
+
3. **THEME_SELECTORS** - Theme-specific UI selectors
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Common Sync Issues
|
|
30
|
+
|
|
31
|
+
### 1. Selector Used but Not Defined
|
|
32
|
+
|
|
33
|
+
**Symptom:** Console warning `[sel] Invalid selector path: "..."`
|
|
34
|
+
|
|
35
|
+
**Fix:**
|
|
36
|
+
1. Find usage in component: `grep -rn "sel('...')" packages/core/src/`
|
|
37
|
+
2. Add to appropriate domain file in `packages/core/src/lib/selectors/domains/`
|
|
38
|
+
3. Rebuild to regenerate types
|
|
39
|
+
|
|
40
|
+
### 2. Hardcoded Selector in Component
|
|
41
|
+
|
|
42
|
+
**Symptom:** `document.querySelector('[data-cy="..."]')` instead of using `sel()`
|
|
43
|
+
|
|
44
|
+
**Fix:**
|
|
45
|
+
```diff
|
|
46
|
+
- document.querySelector(`[data-cy="preview-block-${id}"]`)
|
|
47
|
+
+ document.querySelector(`[data-cy="${sel('blockEditor.previewCanvas.block', { id })}"]`)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 3. Hardcoded Selector in POM
|
|
51
|
+
|
|
52
|
+
**Symptom:** Direct string selectors instead of `cySelector()`
|
|
53
|
+
|
|
54
|
+
**Fix:**
|
|
55
|
+
```diff
|
|
56
|
+
- moveUpBtn: (id: string) => `[data-cy="preview-block-${id}-move-up"]`,
|
|
57
|
+
+ moveUpBtn: (id: string) => cySelector('blockEditor.previewCanvas.moveUp', { id }),
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Note:** Generic selectors for prefix matching MUST keep the bracket format:
|
|
61
|
+
```ts
|
|
62
|
+
sortableBlockGeneric: '[data-cy^="sortable-block-"]', // OK - needed for prefix matching
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Files to Check
|
|
68
|
+
|
|
69
|
+
| Layer | File Pattern |
|
|
70
|
+
|-------|--------------|
|
|
71
|
+
| Core Selectors | `packages/core/src/lib/selectors/domains/*.selectors.ts` |
|
|
72
|
+
| Component Usage | `packages/core/src/components/**/*.tsx` |
|
|
73
|
+
| POM Classes | `themes/*/tests/cypress/src/core/*POM.ts` |
|
|
74
|
+
| POM Presets | `packages/core/templates/contents/themes/starter/tests/cypress/src/core/*POM.ts` |
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Sync Workflow
|
|
79
|
+
|
|
80
|
+
1. **Find undefined selectors:**
|
|
81
|
+
```bash
|
|
82
|
+
pnpm build 2>&1 | grep -i "selector"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
2. **Find hardcoded selectors in POMs:**
|
|
86
|
+
```bash
|
|
87
|
+
grep -n "data-cy=" themes/default/tests/cypress/src/core/*.ts
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
3. **Find hardcoded selectors in components:**
|
|
91
|
+
```bash
|
|
92
|
+
grep -rn 'data-cy="' packages/core/src/components/ --include="*.tsx"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
4. **After sync, update presets:**
|
|
96
|
+
- `packages/core/templates/contents/themes/starter/tests/cypress/src/core/`
|
|
97
|
+
- `packages/core/templates/contents/themes/starter/tests/cypress/src/core/`
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Verification
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Build without errors
|
|
105
|
+
pnpm build
|
|
106
|
+
|
|
107
|
+
# No invalid selector warnings in browser console
|
|
108
|
+
# Navigate to affected pages and check DevTools console
|
|
109
|
+
|
|
110
|
+
# Grep should show only defined properties, not method bodies with hardcoded strings
|
|
111
|
+
grep -n "data-cy=" themes/default/tests/cypress/src/core/BlockEditorBasePOM.ts
|
|
112
|
+
```
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Read and apply relevant skills for the requested task"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# do:use-skills
|
|
6
|
+
|
|
7
|
+
**Task:** {{{ input }}}
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Protocol
|
|
12
|
+
|
|
13
|
+
This command enforces the use of skills for any development task.
|
|
14
|
+
|
|
15
|
+
### Step 1: Read Skills Index
|
|
16
|
+
|
|
17
|
+
**MANDATORY:** Read `.claude/skills/README.md` to understand all available skills.
|
|
18
|
+
|
|
19
|
+
The README contains:
|
|
20
|
+
- Complete list of 44+ skills
|
|
21
|
+
- Categories and descriptions
|
|
22
|
+
- Mapping of tasks → skills
|
|
23
|
+
|
|
24
|
+
### Step 2: Identify Relevant Skills
|
|
25
|
+
|
|
26
|
+
Based on the task keywords, identify which skills apply:
|
|
27
|
+
|
|
28
|
+
| Task Keywords | Relevant Skills |
|
|
29
|
+
|---------------|-----------------|
|
|
30
|
+
| entity, crud, model | `entity-system` |
|
|
31
|
+
| migration, sql, database | `database-migrations` |
|
|
32
|
+
| api, endpoint, route | `nextjs-api-development`, `entity-api` |
|
|
33
|
+
| scheduled, background, webhook | `scheduled-actions` |
|
|
34
|
+
| theme, styling, css | `create-theme`, `tailwind-theming` |
|
|
35
|
+
| plugin, extension | `create-plugin`, `plugins` |
|
|
36
|
+
| block, page-builder | `page-builder-blocks`, `block-decision-matrix` |
|
|
37
|
+
| test, cypress, e2e | `cypress-e2e`, `cypress-api`, `pom-patterns` |
|
|
38
|
+
| auth, login, session | `better-auth`, `permissions-system` |
|
|
39
|
+
| component, ui | `shadcn-components`, `react-patterns` |
|
|
40
|
+
| i18n, translation | `i18n-nextintl` |
|
|
41
|
+
|
|
42
|
+
### Step 3: Read Each Relevant Skill
|
|
43
|
+
|
|
44
|
+
For each identified skill, read the complete SKILL.md:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
.claude/skills/{skill-name}/SKILL.md
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Step 4: Check for Scripts
|
|
51
|
+
|
|
52
|
+
Many skills include automation scripts:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
ls .claude/skills/{skill-name}/scripts/
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Use scripts when available to automate tasks.
|
|
59
|
+
|
|
60
|
+
### Step 5: Apply Patterns
|
|
61
|
+
|
|
62
|
+
Execute the task following:
|
|
63
|
+
- Conventions documented in the skill
|
|
64
|
+
- Code patterns and templates
|
|
65
|
+
- Directory structure requirements
|
|
66
|
+
|
|
67
|
+
### Step 6: Validate
|
|
68
|
+
|
|
69
|
+
Use the skill's checklist (usually at the end of SKILL.md) to verify compliance.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Example Usage
|
|
74
|
+
|
|
75
|
+
**Task:** "Create a new products entity"
|
|
76
|
+
|
|
77
|
+
1. Read `.claude/skills/README.md`
|
|
78
|
+
2. Identify: `entity-system`, `database-migrations`
|
|
79
|
+
3. Read both SKILL.md files
|
|
80
|
+
4. Check for scripts in `entity-system/scripts/`
|
|
81
|
+
5. Execute following documented patterns
|
|
82
|
+
6. Validate using checklists
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Important
|
|
87
|
+
|
|
88
|
+
- **ALWAYS** read the skill before implementing
|
|
89
|
+
- **NEVER** skip the checklist validation
|
|
90
|
+
- Skills contain project-specific conventions that must be followed
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Validate page builder blocks"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# do:validate-blocks
|
|
6
|
+
|
|
7
|
+
**Block or Context:** {{{ input }}}
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## MANDATORY: Read Skills First
|
|
12
|
+
|
|
13
|
+
Read these skills completely before proceeding:
|
|
14
|
+
|
|
15
|
+
1. `.claude/skills/page-builder-blocks/SKILL.md` - Block development
|
|
16
|
+
2. `.claude/skills/block-decision-matrix/SKILL.md` - Block decisions
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Block Structure
|
|
21
|
+
|
|
22
|
+
Each block must have:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
contents/themes/{theme}/blocks/{block-name}/
|
|
26
|
+
├── config.ts # Block configuration
|
|
27
|
+
├── schema.ts # Zod validation schema
|
|
28
|
+
├── fields.ts # Field definitions
|
|
29
|
+
├── component.tsx # React component
|
|
30
|
+
└── index.ts # Exports
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Validation Checklist
|
|
36
|
+
|
|
37
|
+
- [ ] All 5 required files exist
|
|
38
|
+
- [ ] `config.ts` has correct metadata
|
|
39
|
+
- [ ] `schema.ts` validates all fields
|
|
40
|
+
- [ ] `component.tsx` has `data-cy` attributes
|
|
41
|
+
- [ ] Block appears in BLOCK_REGISTRY
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Registry Check
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Rebuild registry
|
|
49
|
+
node core/scripts/build/registry.mjs
|
|
50
|
+
|
|
51
|
+
# Verify block is registered
|
|
52
|
+
grep "{block-name}" core/lib/registries/block-registry.ts
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Common Issues
|
|
58
|
+
|
|
59
|
+
| Issue | Solution |
|
|
60
|
+
|-------|----------|
|
|
61
|
+
| Block not in registry | Run registry rebuild |
|
|
62
|
+
| Schema validation fails | Check Zod schema matches fields |
|
|
63
|
+
| Component not rendering | Check exports in index.ts |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Verification
|
|
68
|
+
|
|
69
|
+
Use the checklist from `page-builder-blocks/SKILL.md` to verify compliance.
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
# /how-to:* Commands
|
|
2
|
+
|
|
3
|
+
Interactive guided tutorials for NextSpark core functionalities.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Philosophy
|
|
8
|
+
|
|
9
|
+
These commands follow a **guided learning approach**:
|
|
10
|
+
|
|
11
|
+
1. **Step-by-step instructions** - Claude guides you through each step
|
|
12
|
+
2. **Interactive Q&A** - Ask questions at any point during the tutorial
|
|
13
|
+
3. **Hands-on practice** - Apply concepts to your actual project
|
|
14
|
+
4. **Validation** - Claude validates your implementation as you go
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## How It Works
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
22
|
+
│ /how-to:{topic} │
|
|
23
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
24
|
+
│ │
|
|
25
|
+
│ 1. Introduction │
|
|
26
|
+
│ - Brief explanation of the concept │
|
|
27
|
+
│ - What you'll learn │
|
|
28
|
+
│ - Prerequisites check │
|
|
29
|
+
│ ↓ │
|
|
30
|
+
│ 2. Step-by-Step Guide │
|
|
31
|
+
│ - Each step explained clearly │
|
|
32
|
+
│ - Code examples and patterns │
|
|
33
|
+
│ - Pause after each step for questions │
|
|
34
|
+
│ ↓ │
|
|
35
|
+
│ 3. Interactive Implementation │
|
|
36
|
+
│ - Apply to your project │
|
|
37
|
+
│ - Claude validates your work │
|
|
38
|
+
│ ↓ │
|
|
39
|
+
│ 4. Summary & Next Steps │
|
|
40
|
+
│ - Recap what you learned │
|
|
41
|
+
│ - Related tutorials │
|
|
42
|
+
│ - Best practices reminder │
|
|
43
|
+
│ │
|
|
44
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Available Commands
|
|
50
|
+
|
|
51
|
+
### Getting Started
|
|
52
|
+
|
|
53
|
+
| Command | Description |
|
|
54
|
+
|---------|-------------|
|
|
55
|
+
| `/how-to:start` | **Main index** - Starting point for all tutorials |
|
|
56
|
+
|
|
57
|
+
### Configuration & Setup
|
|
58
|
+
|
|
59
|
+
| Command | Description |
|
|
60
|
+
|---------|-------------|
|
|
61
|
+
| `/how-to:setup-claude-code` | **First step** - Configure AI workflow system |
|
|
62
|
+
| `/how-to:setup-database` | Configure PostgreSQL, run migrations |
|
|
63
|
+
| `/how-to:setup-authentication` | Configure Better Auth, OAuth providers |
|
|
64
|
+
| `/how-to:setup-email-providers` | Configure email sending providers |
|
|
65
|
+
| `/how-to:set-app-languages` | Configure supported languages and i18n |
|
|
66
|
+
|
|
67
|
+
### Entities & Database
|
|
68
|
+
|
|
69
|
+
| Command | Description |
|
|
70
|
+
|---------|-------------|
|
|
71
|
+
| `/how-to:create-entity` | Create a new entity with full CRUD |
|
|
72
|
+
| `/how-to:create-migrations` | Write database migrations with RLS |
|
|
73
|
+
| `/how-to:create-api` | Create custom API endpoints |
|
|
74
|
+
|
|
75
|
+
### Page Builder & Blocks
|
|
76
|
+
|
|
77
|
+
| Command | Description |
|
|
78
|
+
|---------|-------------|
|
|
79
|
+
| `/how-to:create-block` | Create page builder blocks |
|
|
80
|
+
|
|
81
|
+
### Permissions & Billing
|
|
82
|
+
|
|
83
|
+
| Command | Description |
|
|
84
|
+
|---------|-------------|
|
|
85
|
+
| `/how-to:set-plans-and-permissions` | Configure subscription plans and features |
|
|
86
|
+
| `/how-to:set-user-roles-and-permissions` | Configure team roles and RBAC |
|
|
87
|
+
|
|
88
|
+
### Plugins & Extensions
|
|
89
|
+
|
|
90
|
+
| Command | Description |
|
|
91
|
+
|---------|-------------|
|
|
92
|
+
| `/how-to:create-plugin` | Create a new plugin from scratch |
|
|
93
|
+
| `/how-to:install-plugins` | Install and configure plugins |
|
|
94
|
+
| `/how-to:set-scheduled-actions` | Configure background tasks and cron jobs |
|
|
95
|
+
|
|
96
|
+
### Customization
|
|
97
|
+
|
|
98
|
+
| Command | Description |
|
|
99
|
+
|---------|-------------|
|
|
100
|
+
| `/how-to:customize-theme` | Customize design system and styles |
|
|
101
|
+
| `/how-to:customize-dashboard` | Customize dashboard layout and navigation |
|
|
102
|
+
| `/how-to:customize-app` | App-level customizations and settings |
|
|
103
|
+
|
|
104
|
+
### Testing & Deployment
|
|
105
|
+
|
|
106
|
+
| Command | Description |
|
|
107
|
+
|---------|-------------|
|
|
108
|
+
| `/how-to:add-translations` | Add translations for your content |
|
|
109
|
+
| `/how-to:run-tests` | Run Cypress API and E2E tests |
|
|
110
|
+
| `/how-to:deploy` | Deploy to production |
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Interaction Pattern
|
|
115
|
+
|
|
116
|
+
During any how-to tutorial, Claude will:
|
|
117
|
+
|
|
118
|
+
1. **Show the current step** with clear instructions
|
|
119
|
+
2. **Wait for your confirmation** or questions
|
|
120
|
+
3. **Validate your implementation** when requested
|
|
121
|
+
4. **Answer questions** at any point
|
|
122
|
+
|
|
123
|
+
### Response Options at Each Step
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
📚 STEP 2 OF 5: Create the Entity Configuration
|
|
127
|
+
|
|
128
|
+
[Instructions for this step...]
|
|
129
|
+
|
|
130
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
131
|
+
|
|
132
|
+
What would you like to do?
|
|
133
|
+
|
|
134
|
+
[1] Continue to next step
|
|
135
|
+
[2] See code example
|
|
136
|
+
[3] I have a question
|
|
137
|
+
[4] Apply this to my project now
|
|
138
|
+
[5] Skip this step
|
|
139
|
+
[6] Exit tutorial
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Example Session
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
> /how-to:create-entity
|
|
148
|
+
|
|
149
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
150
|
+
📚 HOW TO: CREATE AN ENTITY
|
|
151
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
152
|
+
|
|
153
|
+
Welcome! This tutorial will guide you through creating
|
|
154
|
+
a new entity in NextSpark with full CRUD capabilities.
|
|
155
|
+
|
|
156
|
+
📋 What you'll learn:
|
|
157
|
+
• Entity configuration structure
|
|
158
|
+
• Database migration with RLS
|
|
159
|
+
• Automatic API generation
|
|
160
|
+
• Dashboard integration
|
|
161
|
+
|
|
162
|
+
⏱️ Estimated time: 15-20 minutes
|
|
163
|
+
|
|
164
|
+
Prerequisites:
|
|
165
|
+
✓ NextSpark project set up
|
|
166
|
+
✓ Database running
|
|
167
|
+
✓ Active theme configured
|
|
168
|
+
|
|
169
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
170
|
+
|
|
171
|
+
Ready to begin? What entity would you like to create?
|
|
172
|
+
|
|
173
|
+
> Products entity with name, price, and category
|
|
174
|
+
|
|
175
|
+
Great! Let's create the Products entity. Starting with Step 1...
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Command Standards
|
|
181
|
+
|
|
182
|
+
Each how-to command follows these conventions:
|
|
183
|
+
|
|
184
|
+
### 1. Clear Step Numbers
|
|
185
|
+
|
|
186
|
+
Every step is numbered (STEP 1 OF N) so users know their progress.
|
|
187
|
+
|
|
188
|
+
### 2. Interactive Checkpoints
|
|
189
|
+
|
|
190
|
+
After each major step, Claude asks the user to confirm understanding or if they have questions.
|
|
191
|
+
|
|
192
|
+
### 3. Code Validation
|
|
193
|
+
|
|
194
|
+
When users implement code, Claude offers to validate their implementation.
|
|
195
|
+
|
|
196
|
+
### 4. Related Skills
|
|
197
|
+
|
|
198
|
+
Each tutorial references related skills for deeper learning.
|
|
199
|
+
|
|
200
|
+
### 5. Exit Gracefully
|
|
201
|
+
|
|
202
|
+
Users can exit at any point. Progress context is preserved for the session.
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Naming Convention
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
how-to: (prefix) → TUTORIAL command namespace
|
|
210
|
+
|
|
211
|
+
/how-to:create-entity → "create entity" tutorial
|
|
212
|
+
/how-to:setup-database → "setup database" tutorial
|
|
213
|
+
|
|
214
|
+
- (hyphen) → COMPOUND WORD separator
|
|
215
|
+
|
|
216
|
+
/how-to:set-app-languages → "set app languages"
|
|
217
|
+
/how-to:customize-dashboard → "customize dashboard"
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Command Files
|
|
223
|
+
|
|
224
|
+
- [start.md](./start.md) - Main index
|
|
225
|
+
- [setup-claude-code.md](./setup-claude-code.md) - AI workflow configuration (FIRST STEP)
|
|
226
|
+
- [setup-database.md](./setup-database.md) - Database setup
|
|
227
|
+
- [setup-authentication.md](./setup-authentication.md) - Auth setup
|
|
228
|
+
- [setup-email-providers.md](./setup-email-providers.md) - Email providers
|
|
229
|
+
- [set-app-languages.md](./set-app-languages.md) - i18n setup
|
|
230
|
+
- [create-entity.md](./create-entity.md) - Entity creation
|
|
231
|
+
- [create-migrations.md](./create-migrations.md) - Database migrations
|
|
232
|
+
- [create-api.md](./create-api.md) - API endpoints
|
|
233
|
+
- [create-block.md](./create-block.md) - Block development
|
|
234
|
+
- [create-plugin.md](./create-plugin.md) - Plugin development
|
|
235
|
+
- [create-child-entities.md](./create-child-entities.md) - Child entities
|
|
236
|
+
- [add-metadata.md](./add-metadata.md) - Metadata system
|
|
237
|
+
- [add-taxonomies.md](./add-taxonomies.md) - Tags and categories
|
|
238
|
+
- [add-translations.md](./add-translations.md) - Translations
|
|
239
|
+
- [set-plans-and-permissions.md](./set-plans-and-permissions.md) - Billing & plans
|
|
240
|
+
- [set-user-roles-and-permissions.md](./set-user-roles-and-permissions.md) - RBAC
|
|
241
|
+
- [set-scheduled-actions.md](./set-scheduled-actions.md) - Background jobs
|
|
242
|
+
- [install-plugins.md](./install-plugins.md) - Plugin installation
|
|
243
|
+
- [customize-theme.md](./customize-theme.md) - Theme customization
|
|
244
|
+
- [customize-dashboard.md](./customize-dashboard.md) - Dashboard customization
|
|
245
|
+
- [customize-app.md](./customize-app.md) - App customization
|
|
246
|
+
- [define-features-flows.md](./define-features-flows.md) - Feature registry
|
|
247
|
+
- [manage-test-coverage.md](./manage-test-coverage.md) - Test coverage
|
|
248
|
+
- [run-tests.md](./run-tests.md) - Testing
|
|
249
|
+
- [deploy.md](./deploy.md) - Deployment
|
|
250
|
+
- [use-superadmin.md](./use-superadmin.md) - Superadmin panel
|
|
251
|
+
- [use-devtools.md](./use-devtools.md) - Developer tools
|
|
252
|
+
- [handle-file-uploads.md](./handle-file-uploads.md) - File uploads
|
|
253
|
+
- [implement-search.md](./implement-search.md) - Search implementation
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## Related
|
|
258
|
+
|
|
259
|
+
- `/session:*` - Development session commands
|
|
260
|
+
- `.claude/skills/` - Detailed technical knowledge
|
|
261
|
+
- `docs/` - Project documentation
|