- Global preferences (user_rules.md) - Personal coding style, language preferences
- Project-specific standards (AGENTS.md) - Team conventions, architectural patterns
- Plan customization (Plan.md) - Plan Mode output format and content
User Rules (user_rules.md)
user_rules.md defines global preferences that apply across all projects and sessions. It establishes personal coding style, preferred tools, communication preferences, and default behaviors.Location and Scope
File Location:~/.verdent/user_rules.md
Scope: Global to all projects
Access:
- Settings → Rules → User Rules
- Direct file edit at
~/.verdent/user_rules.md
Use Cases
- Coding Preferences
- Output Language
- Code Comments
- Documentation
- Communication
Coding Preferences
- Indentation style (2-space, 4-space, tabs)
- Naming conventions (camelCase, snake_case, PascalCase)
- Preferred language features (ES6+, TypeScript strict mode, type hints)
Format and Syntax
user_rules.md uses plain Markdown format with bullet points or numbered lists. Structure:- Use clear, directive language (“Always use…”, “Prefer…”, “Never…”)
- Organize into logical sections with headers
- Bullet points for individual rules
- Be specific about desired behavior
Examples by Developer Type
- TypeScript
- Python Data Science
- Full-Stack JS
- Multilingual
- Minimalist
- Use TypeScript with strict mode
- Create a named export (not default)
- Add TSDoc comments with @param/@returns tags
- Organize imports by category
How to Create and Edit
Project Rules (AGENTS.md)
AGENTS.md defines project-specific rules that control agent behavior for the current project. It establishes team coding standards, architectural patterns, testing requirements, and development workflows specific to the project.Location and Scope
File Location: Project root directory Scope: Current project only Version Control: Can be committed to git for team-wide sharing Access:- Settings → Rules → Project Rules
- Direct edit at
<project-root>/AGENTS.md
Use Cases
- Team Conventions
- Architecture
- Testing
- Workflows
- Technology
Team ConventionsShared coding standards all team members follow:
- Consistent indentation across team
- Naming conventions for components/functions
- File organization patterns
Format and Syntax
AGENTS.md uses Markdown format with structured sections and bullet points, similar to user_rules.md but focused on project-specific requirements. Structure:- Imperative, directive language
- Organized by workflow area (dev, testing, deployment)
- Specific commands and procedures
- Team-wide standards, not personal preferences
Examples by Project Type
- Monorepo
- React/TypeScript
- Backend API
- Mobile App
- Python Django
- Use turbo commands for navigation and testing
- Format PR titles with project name prefix
- Run lint and test commands before suggesting commits
Differences from user_rules.md
Scope:- user_rules.md: Personal preferences across all projects
- AGENTS.md: Team standards for specific project only
- AGENTS.md: Higher precedence - overrides user_rules for project consistency
- user_rules.md: Lower precedence - applies when no project rule conflicts
- user_rules.md: Individual coding style, communication preferences, personal tools
- AGENTS.md: Team conventions, project architecture, shared workflows, technology stack
- user_rules.md: Not shared - stays on individual’s machine
- AGENTS.md: Committed to git - shared with entire team
- user_rules.md:
~/.verdent/user_rules.md(global) - AGENTS.md: Project root directory (project-specific)
- user_rules.md: Personal preferences you want across all projects
- AGENTS.md: Standards the entire team must follow for this project
Plan Rules (Plan.md)
Plan.md customizes the content and format of plans generated in Plan Mode. It controls plan detail level, sections included, formatting preferences, and information displayed.Location and Scope
File Location: ~/.verdent/plan_settings.json Scope: Global to all projects Application: Only applied during Plan Mode when generating plans Access:- Settings → Rules → Plan Rules
- Direct file edit at ~/.verdent/plan_settings.json
Use Cases
- Plan Structure
- Detail Level
- Format
- Information
Plan StructureDefine sections to include:
- Summary, prerequisites, steps, verification
- Risk assessment, rollback procedures
- Time estimates, critical path
Format and Syntax
Plan.md uses Markdown format with sections describing desired plan structure and content. Structure:Examples by Planning Style
- Detailed Technical
- High-Level Strategic
- Time-Conscious
- Risk-Focused
- Team Collaboration
- Executive summary at the top
- 20-30 minute task breakdowns
- Specific file paths like
src/components/Auth/Login.tsx - Function signatures like
async function authenticateUser(credentials: UserCredentials): Promise<AuthResult> - Testing and rollback procedures
When Are Plan Rules Applied?
Plan Rules Application:- Timing: Only applied during Plan Mode when generating plans
- Scope: Controls plan format and content, not code generation
- Independence: Doesn’t conflict with user_rules.md or AGENTS.md
- user_rules.md: Continuously applied across all modes (Agent, Plan, Chat)
- AGENTS.md: Continuously applied across all modes for project-specific behavior
- Agent Mode: user_rules.md + AGENTS.md applied (no plan_rules.md)
- Plan Mode: user_rules.md + AGENTS.md + Plan.md all applied
- Chat Mode: user_rules.md + AGENTS.md applied (no Plan.md)
Rule Precedence and Conflict Resolution
When rules conflict, Verdent applies precedence to ensure consistent behavior.Precedence Order
1. Project Rules (AGENTS.md) - Highest Priority Project-specific rules override global preferences. Team standards take precedence over individual preferences for consistency. 2. User Rules (user_rules.md) - Medium Priority Global preferences apply when no project-specific rule conflicts. 3. Default Behavior - Lowest Priority Verdent’s built-in defaults apply when no rules are specified. Example Conflict Resolution:Plan Rules only affect Plan Mode output format—they don’t change how Verdent analyzes or implements solutions.
Detailed conflict resolution algorithms, mechanisms to view which rule is being applied during conflicts, and override mechanisms for temporary rule suspension are currently in development.
Troubleshooting Rule Conflicts
When you observe unexpected behavior that contradicts a rule, follow this debug strategy:Step 1: Identify the Conflict
- Observe unexpected behavior that contradicts a rule
- Check which rules might apply to the situation
- Look for contradictions between rule files
Step 2: Check Rule Precedence
Step 3: Test in Isolation
Disable user_rules.md: Temporarily rename or clear file, test if conflict resolves Test without AGENTS.md: Work in project without AGENTS.md to isolate user_rules behavior New conversation: Start fresh session to eliminate conversation context influenceCommon Conflict Scenarios
Scenario 1: Formatting Conflict
Scenario 2: Contradictory Rules in Same File
Scenario 3: Rule Too Vague
Debug Strategy
1. Explicit Test: Ask Verdent “Which rule are you following for [specific behavior]?” Example:Best Practices for Writing Rules
Be Specific and Directive:- Use clear, imperative language (“Always use…”, “Never…”, “Prefer…”)
- Avoid ambiguous phrasing (“Try to…” → “Always…”)
- State exactly what you want, not what you don’t want
- Group related rules under section headers
- Separate concerns (style, testing, documentation, security)
- Use consistent structure across rule files
- Write concise rules (one concept per bullet)
- Review and update rules as project evolves
- Remove obsolete rules promptly
- Place critical rules first in each section
- Use emphasis for non-negotiable standards (“NEVER commit credentials”)
- Focus on rules that prevent bugs or security issues
- Verify Verdent follows rules in practice
- Start new conversation to test rule application
- Refine rules based on actual agent behavior
- Too specific → Rigid behavior that doesn’t adapt
- Too vague → Inconsistent behavior
- Aim for clear guidance with room for context-appropriate decisions
- Involve team in rule creation
- Document rationale for non-obvious rules
- Keep team rules focused on shared standards, not personal preferences