Skip to main content
Rules are custom instructions that apply across your entire migration. They let you encode specific requirements, coding standards, or preferences that should follow in every milestone.

Why Create Rules

You Know Your Standards

Every team has conventions. Maybe you:
  • Always use a specific logging library
  • Follow particular naming conventions
  • Have standard patterns for error handling
  • Require certain testing approaches
Rules let you capture this knowledge so respects it throughout your migration.

Consistent Output

Without rules, makes reasonable choices-but they might not be your choices. Rules ensure:
  • All generated code follows your patterns
  • The same standard applies across every milestone
  • You don’t have to fix the same issue repeatedly

Prevent Repeated Mistakes

If you review a milestone PR and notice something wrong, ask: “Will this happen again?” If yes, create a rule. The next milestone-and all after-will follow it.

When to Create Rules

Create a rule when you:
  • Know exactly what you want - You have a specific requirement, not a vague preference
  • See a pattern emerging - The same issue appears across milestones
  • Have company standards - Your team has documented conventions
  • Need specific library usage - You want to use particular dependencies

Rule Examples

Coding Conventions

Library Preferences

Testing Requirements

Error Handling

Architecture Patterns

Specific Avoidances

Creating a Rule

  1. In your project, find the Rules section in the left sidebar
  2. Click the + button - the Knowledge drawer opens in rule-edit mode with a default title (e.g., “Rule 1”)
  3. Click the title to edit it - give it a short, descriptive name (e.g., “Python naming conventions”)
  4. Fill in Description (Apply this rule when...) - when this rule applies. A description is required to save.
  5. Write the rule body in the markdown editor below - the specific instructions
  6. (Optional) Toggle the Active checkbox off to save as a draft
  7. Click Create Rule
When editing an existing rule, the same button reads Save Changes.

Writing Effective Rules

Be Specific Instead of: “Write clean code” Write: “Functions should do one thing. If a function exceeds 20 lines, consider splitting it.” Be Actionable Instead of: “Use good error handling” Write: “Wrap external API calls in try-except blocks. Log the error with full context. Re-raise as a custom DomainException.” Provide Examples When Helpful

How Rules Are Applied

Rules are included in the context for every task in every milestone. When generates code:
  1. It reads all active rules for your project
  2. It applies them alongside the milestone-specific instructions
  3. Generated code reflects both the milestone goal and your rules

Managing Rules

Viewing Rules

Click on any rule in the Rules section to view its full content.

Editing Rules

  1. Click on a rule
  2. Modify the title, description, or content
  3. Save your changes
Edited rules apply to future milestones. Already-completed milestones aren’t affected.

Deleting Rules

From the Rules sidebar:
  1. Click the × icon on the rule’s row (always visible - no hover required)
  2. Confirm deletion in the dialog that opens
Alternatively, when a rule is open in the editor, click the Delete button (trash icon) in the action bar and confirm. Deleted rules no longer apply to future milestones.

Best Practices

Start Focused

Don’t try to create 20 rules upfront. Start with:
  1. Your most important coding conventions
  2. Critical library or framework requirements
  3. Any non-negotiable patterns
Add more rules as you review milestones and notice gaps.

Review Rule Effectiveness

After a few milestones, check:
  • Are the rules being followed?
  • Are they too vague (and being ignored)?
  • Are they too strict (and causing issues)?
Adjust as needed.

Keep Rules Maintainable

Many specific rules are better than one giant rule. Separate concerns:
  • One rule for naming conventions
  • One rule for error handling
  • One rule for testing patterns
This makes rules easier to update and understand.

Rules vs. Project Spec

Both work together. The Project Spec sets the direction. Rules fine-tune the execution.