Agent skill
vendix-development-rules
General development rules.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/vendix-development-rules-rzyfront-vendix-2
Metadata
Additional technical details for this skill
- scope
-
[ "root" ] - auto invoke
- General Development
SKILL.md
Vendix Development Rules
CRITICAL SKILL - ALWAYS ACTIVE - Estas reglas son MANDATORIAS para toda interacciΓ³n con el cΓ³digo base.
π¨ MANDATORY REQUIREMENTS
Rule 1: ALWAYS Use Task Tools
π¨ CRITICAL: Use Task tools for ANY operation involving multiple files, research, or complex analysis. NEVER attempt complex operations without proper task management.
π Decision Matrix: When to Use Task Tools
| Scenario | Files Affected | Use Task Tool? | Agent Type |
|---|---|---|---|
| Single file edit | 1 | β No | N/A (Edit directly) |
| Rename across codebase | 5+ | β YES | general-purpose |
| Find pattern in unknown locations | Unknown | β YES | Explore |
| Understand architecture | Research | β YES | Explore |
| Plan new feature | Design | β YES | Plan |
| Debug complex issue | 3+ | β YES | general-purpose |
| Add simple field to DTO | 1 | β No | N/A |
| Refactor multi-file logic | 3+ | β YES | general-purpose |
| Search how X works | Research | β YES | Explore |
π€ Agent Selection Guide
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TASK SELECTION FLOW β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Start Task β
β β β
β βΌ β
β βββββββββββββββββββ β
β β Need to explore βββββ YES βββ Use Explore agent β
β β or understand? β β
β ββββββββββ¬βββββββββ β
β β NO β
β βΌ β
β βββββββββββββββββββ β
β β Planning needed βββββ YES βββ Use Plan agent β
β β for feature? β β
β ββββββββββ¬βββββββββ β
β β NO β
β βΌ β
β βββββββββββββββββββ β
β β Affects 3+ βββββ YES βββ Use general-purpose agent β
β β files? β β
β ββββββββββ¬βββββββββ β
β β NO β
β βΌ β
β Use direct tools (Edit, Read, Grep, Glob, Bash) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Explore Agent
Use for: Fast codebase exploration, finding files by patterns, understanding how things work
Examples:
β’ "Find all files related to user authentication"
β’ "Where are order payment methods handled?"
β’ "Show me the inventory adjustment flow"
β’ "How does multi-tenancy work in this codebase?"
Plan Agent
Use for: Designing implementation strategies before coding
Examples:
β’ "Plan how to add product variant pricing"
β’ "Design the refund flow integration"
β’ "Plan the store settings restructure"
General-Purpose Agent
Use for: Complex multi-step tasks requiring multiple tools
Examples:
β’ "Rename UserService to CustomerService across all files"
β’ "Add error handling to all inventory endpoints"
β’ "Refactor the cart calculation logic"
β β Real Examples from Vendix
β CORRECT: Using Task Tool
// β DON'T DO THIS: Manual search across codebase
// Grep β Search "payment" β Grep β Search "stripe" β Read β Read...
// β
DO THIS: Use Explore agent
Task tool β Explore agent β "Find all payment processing files and explain the flow"
// β DON'T DO THIS: Manually finding all references
// Grep "UserService" β Edit β Edit β Edit... (10+ files)
// β
DO THIS: Use general-purpose agent
Task tool β general-purpose agent β "Rename UserService to CustomerService in all files"
// β DON'T DO THIS: Guessing architecture
// Read random files hoping to understand the pattern
// β
DO THIS: Use Explore agent
Task tool β Explore agent β "Explain how multi-tenant context is managed across domains"
β INCORRECT: Using Task Tool Unnecessarily
// β DON'T DO THIS: Overkill for simple tasks
Task tool β "Add one field to CreateUserDto"
// β
DO THIS: Direct Edit tool
Edit tool β Add field directly
// β DON'T DO THIS: Task for single command
Task tool β "Run docker compose restart"
// β
DO THIS: Direct Bash tool
Bash tool β docker compose restart
π― Quick Reference Table
| Need | Use | Pattern |
|---|---|---|
| Find where X is defined | Explore | "Find where {interface/class} is defined" |
| Understand flow | Explore | "Explain the {feature} flow from start to end" |
| Plan implementation | Plan | "Plan how to implement {feature} with {constraints}" |
| Multi-file refactor | general-purpose | "Refactor {pattern} across all {domain} files" |
| Find bug across files | general-purpose | "Find why {symptom} happens in {context}" |
| Single file change | Direct tools | Edit tool directly |
| Run command | Direct tools | Bash tool directly |
| Read specific file | Direct tools | Read tool directly |
β οΈ Common Mistakes to Avoid
| Mistake | Why It's Wrong | Correct Approach |
|---|---|---|
| Using Grep to find all usages | Slow, error-prone, incomplete | Task β Explore agent |
| Manually editing 10+ files | Time-consuming, easy to miss one | Task β general-purpose agent |
| Reading random files to understand | Inefficient, misses context | Task β Explore agent |
| Starting coding without planning | Creates wrong patterns | Task β Plan agent first |
metadata: scope: [root] auto_invoke: "Complex Tasks"
Rule 2: Consistency Over Preferences
ALWAYS prioritize:
- Established patterns in the codebase
- Existing conventions over personal preferences
- Code consistency across the project
NEVER:
- Suggest "better" ways that differ from established patterns
- Introduce new conventions without justification
- Change working patterns for marginal improvements
Principle: If it works in the codebase, follow that pattern.
Rule 3: Code Quality Standards
YOU MUST MAINTAIN:
- Strong typing: Use TypeScript interfaces, NEVER
any - Modularity: Keep code modular and reusable
- Multi-tenancy: Always consider tenant isolation
- Error handling: Implement proper error handling at all layers
- Documentation: Add comments only when logic isn't self-evident
AVOID:
- Over-engineering simple solutions
- Premature abstractions
- Adding features "just in case"
- Changing code that already works
Rule 4: Technology Constraints
BACKEND:
- NEVER suggest JavaScript - Always TypeScript
- NEVER bypass Prisma - Always use generated clients
- NEVER hardcode tenant IDs - Use RequestContext (multi-tenant is automatic)
FRONTEND:
- NEVER use promises for HTTP - Always RxJS Observables
- NEVER create isolated state - Use global state when appropriate
- NEVER hardcode branding - Resolve from domain config
- NEVER use alert() - Use ToastService
Note: Backend uses global JWT authentication via APP_GUARD. Use @Public() decorator for public routes. See vendix-backend-auth for authentication patterns.
Rule 5: Before Making Changes
YOU MUST:
- Read existing code before suggesting changes
- Understand the pattern before implementing
- Follow existing structures unless explicitly requested to change
- Test builds after any code change
NEVER:
- Propose changes without reading the file first
- Assume patterns without verification
- Skip build verification
Rule 6: File Organization
BACKEND DOMAINS:
apps/backend/src/domains/{domain}/
βββ {domain}.module.ts
βββ {domain}.controller.ts
βββ {domain}.service.ts
βββ dto/
βββ entities/
FRONTEND MODULES:
apps/frontend/src/app/private/modules/{module}/
βββ {module}.component.ts
βββ {module}.component.html
βββ {module}.component.scss
βββ components/
β βββ index.ts
βββ services/
β βββ {module}.service.ts
βββ interfaces/
βββ {module}.interface.ts
ALL COMPONENTS:
- MUST be in folders - Even if standalone, even if small
- MUST have index.ts - For clean exports
- MUST follow naming - kebab-case for folders, PascalCase for classes
Rule 7: Verification Workflow
BEFORE completing ANY task:
- β Check Docker logs for ALL modified components
- β Verify ZERO errors exist
- β
Use appropriate commands:
- Backend:
docker logs --tail 40 vendix_backend - Frontend:
docker logs --tail 40 vendix_frontend - Database:
docker logs --tail 40 vendix_postgres
- Backend:
- β Re-check after fixes
- β Only then mark task complete
NO EXCEPTIONS - A task is NEVER complete with build errors.
π― Quick Reference
| Task | Tool/Approach |
|---|---|
| Explore codebase | Task β Explore agent |
| Plan implementation | Task β Plan agent |
| Complex multi-step | Task β general-purpose agent |
| Simple commands | Bash tool directly |
| Find file by name | Glob tool |
| Search content | Grep tool |
| Read file | Read tool |
π Decision Tree
Start Task
β
βββ Is it complex/multi-step?
β βββ YES: Use Task tool
β βββ NO: Can I do it with one tool?
β βββ YES: Use that tool
β βββ NO: Use Task tool
β
βββ Does it involve code changes?
β βββ YES: Read file first
β βββ Follow existing patterns
β βββ Verify build after
β
βββ Is it a new feature/module?
βββ YES: Use Plan agent first
βββ Get user approval
βββ Then implement
π΄ CRITICAL REMINDERS
- NEVER skip Task tools for complex operations
- NEVER compromise naming conventions (see
vendix-naming-conventions) - NEVER skip build verification (see
buildcheck-dev) - ALWAYS read existing code before changing
- ALWAYS follow established patterns
Related Skills
vendix-naming-conventions- ABSOLUTE PRIORITY for namingbuildcheck-dev- MANDATORY build checksvendix-backend-domain- Backend domain patternsvendix-frontend-component- Frontend component patterns
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?