Skip to content

Conversation

@tudoramariei
Copy link
Member

@tudoramariei tudoramariei commented Feb 10, 2026

Summary by CodeRabbit

  • Documentation

    • Added comprehensive backend development guidelines covering Python/Django standards, naming conventions, testing, formatting, and workflow recommendations.
    • Added guidance for managing coding-assistant instructions and configuration.
  • Chores

    • Updated repository ignore rules to exclude generated, backup, and editor/configuration artifacts from version control.

@coderabbitai
Copy link

coderabbitai bot commented Feb 10, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Adds Ruler configuration and documentation for managing coding-assistant instructions, plus gitignore entries for generated and backup files.

Changes

Cohort / File(s) Summary
Git ignore updates
/.gitignore
Adds ignore patterns for GeoLite2-City and a "START Ruler Generated Files" block with ignores for *.bak, .github/copilot-instructions.md (and its .bak), .junie/guidelines.md (and its .bak), .vscode/mcp.json (and its .bak).
Ruler configuration
.ruler/ruler.toml
Adds Ruler config with default_agents (copilot, junie), an enabled copilot agent and output_path for generated instructions; includes commented templates for other agents.
Documentation
.ruler/backend.md, README.md
Adds backend guidelines (.ruler/backend.md) covering code, testing, formatting, dependencies, Django practices and workflows; updates README.md with a "Managing Coding Assistants' instructions" section describing the .ruler directory and usage.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐇 I hopped through files, left notes in kind,

Rules and config for helpers to find.
Ignore the crumbs, write the guide so neat,
Copilot and Junie now know where to meet.
A tiny thump — the burrow's organized and bright!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: add ruler instructions for the project' accurately describes the main change: introducing a Ruler configuration system with instructions for coding assistants across multiple files (.gitignore, .ruler/backend.md, .ruler/ruler.toml, and README.md documentation).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/ruler

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps
Copy link

greptile-apps bot commented Feb 10, 2026

Greptile Overview

Greptile Summary

This PR introduces Ruler, a tool for managing AI coding assistant instructions across the codebase. The changes add configuration files and backend coding standards to guide AI assistants like GitHub Copilot and Junie.

Key changes:

  • Added .ruler/backend.md with comprehensive backend development guidelines covering Python/Django standards, testing, and dependencies
  • Added .ruler/ruler.toml configuration enabling copilot and junie agents (generated files are properly gitignored)
  • Updated README.md with detailed Ruler installation and usage documentation
  • Updated .gitignore to exclude Ruler-generated agent instruction files

Minor issue:

  • .ruler/backend.md:8 references Python 3.14 but the project uses Python >=3.13 per backend/pyproject.toml

Confidence Score: 4/5

  • Safe to merge after fixing the Python version reference
  • The PR adds documentation and configuration files with no runtime code changes. The only issue is a minor version number discrepancy in documentation that should be corrected
  • .ruler/backend.md requires a version correction

Important Files Changed

Filename Overview
.gitignore Added Ruler-generated files to gitignore including backup files, agent instructions, and config files
.ruler/backend.md New AI agent instructions for backend development including coding standards, testing requirements, and Django practices; minor version discrepancy with Python 3.14 vs actual >=3.13
.ruler/ruler.toml Ruler configuration file enabling copilot and junie agents, but junie agent instructions file is missing from the PR
README.md Added comprehensive documentation for managing coding assistants using Ruler, including installation and usage instructions

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Fix all issues with AI agents
In @.ruler/backend.md:
- Line 8: The backend.md entry currently states "Use Python 3.14" which
conflicts with README.md and the dev setup that require Python 3.13; update the
version string in .ruler/backend.md from "Python 3.14" to "Python 3.13" so it
matches the README and the venv creation instructions (search for the literal
"Python 3.14" in .ruler/backend.md and replace it with "Python 3.13").
- Around line 43-45: Update the wording in .ruler/backend.md to correct the uv
workflow: replace the incorrect instruction that says to use `uv pip install
<package>` for adding dependencies with the correct `uv add <package>` command,
and clarify that `uv pip install` only installs into the environment and does
not modify pyproject.toml or uv.lock; keep the guidance that uv should update
pyproject.toml and uv.lock automatically and that uv.lock must not be edited
manually.

In @.ruler/ruler.toml:
- Around line 6-14: default_agents includes "junie" but there's no
[agents.junie] section; either add a configuration block for junie (create a
[agents.junie] section with enabled = true and output_path =
".junie/guidelines.md") so the agent is properly configured (matching the
.junie/guidelines.md gitignore entry), or remove "junie" from default_agents
until you add the corresponding [agents.junie] settings; update the ruler.toml
to reflect whichever choice.

In `@README.md`:
- Around line 148-150: The sentence fragment "To add a new coding assistant" in
README.md is incomplete; update it to a full sentence before the numbered list
(for example: "To add a new coding assistant, follow these steps:") so the prose
reads correctly and flows into the subsequent numbered steps; ensure the exact
phrase "To add a new coding assistant" is replaced or extended to form a
complete sentence with appropriate punctuation.
🧹 Nitpick comments (2)
README.md (1)

131-139: Add language specification to fenced code blocks.

The code blocks should specify the language (e.g., bash or shell) for proper syntax highlighting and to satisfy linting rules.

📝 Proposed fix
-```
+```bash
 npm install -g `@intellectronica/ruler`

or with NPX:

- +bash
npx @intellectronica/ruler apply

.gitignore (1)

440-448: Broad *.bak pattern may have unintended side effects.

The *.bak pattern on line 441 will ignore all .bak files throughout the entire repository, not just Ruler-generated backups. This could unintentionally hide other backup files. Additionally, the specific .bak patterns on lines 443, 445, and 447 become redundant.

Consider either:

  1. Removing the global *.bak and keeping only the specific paths, or
  2. Keeping the global *.bak if that's the intended behavior and removing the redundant specific .bak entries
Option 1: Keep only specific paths
 # START Ruler Generated Files
-*.bak
 .github/copilot-instructions.md
 .github/copilot-instructions.md.bak
 .junie/guidelines.md
 .junie/guidelines.md.bak
 .vscode/mcp.json
 .vscode/mcp.json.bak
 # END Ruler Generated Files
Option 2: Keep global pattern, remove redundant entries
 # START Ruler Generated Files
 *.bak
 .github/copilot-instructions.md
-.github/copilot-instructions.md.bak
 .junie/guidelines.md
-.junie/guidelines.md.bak
 .vscode/mcp.json
-.vscode/mcp.json.bak
 # END Ruler Generated Files

Comment on lines +43 to +45
- Add dependencies using uv: `uv pip install <package>`.
- Let uv update `pyproject.toml` and `uv.lock` automatically.
- Never manually edit `uv.lock`.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Incorrect uv dependency management instructions.

The command uv pip install <package> does not automatically update pyproject.toml. The uv pip subcommand is a pip-compatible interface that installs into the environment without modifying project files.

To add dependencies and update pyproject.toml, the correct command is uv add <package>.

📝 Proposed fix
 ## Dependency Management
 
-- Add dependencies using uv: `uv pip install <package>`.
-- Let uv update `pyproject.toml` and `uv.lock` automatically.
+- Add dependencies using uv: `uv add <package>`.
+- This will update `pyproject.toml` and `uv.lock` automatically.
 - Never manually edit `uv.lock`.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Add dependencies using uv: `uv pip install <package>`.
- Let uv update `pyproject.toml` and `uv.lock` automatically.
- Never manually edit `uv.lock`.
- Add dependencies using uv: `uv add <package>`.
- This will update `pyproject.toml` and `uv.lock` automatically.
- Never manually edit `uv.lock`.
🤖 Prompt for AI Agents
In @.ruler/backend.md around lines 43 - 45, Update the wording in
.ruler/backend.md to correct the uv workflow: replace the incorrect instruction
that says to use `uv pip install <package>` for adding dependencies with the
correct `uv add <package>` command, and clarify that `uv pip install` only
installs into the environment and does not modify pyproject.toml or uv.lock;
keep the guidance that uv should update pyproject.toml and uv.lock automatically
and that uv.lock must not be edited manually.

@tudoramariei tudoramariei merged commit 675c0dc into main Feb 12, 2026
1 of 2 checks passed
@tudoramariei tudoramariei deleted the feature/ruler branch February 12, 2026 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant