Skip to content

Conversation

@rasulkireev
Copy link
Owner

@rasulkireev rasulkireev commented Jun 2, 2025

Adds configuration for the Task Master AI MCP server and refactors the Cursor
rules documentation to support a task-driven development workflow using
Task Master.

Changes include:

  • Added .cursor/mcp.json to configure the task-master-ai MCP server
    and include necessary API keys.
  • Added Task Master configuration (.taskmaster/config.json) and an
    example PRD template (.taskmaster/templates/example_prd.txt).
  • Updated .gitignore to exclude Task Master generated files and logs.
  • Refactored .cursor/rules/ into more specific files:
    • Renamed coding-conventions.mdc to code-comments.mdc.
    • Created new rules for backend error handling, backend logging,
      code style, general Cursor rule guidelines, development workflow
      (focusing on Task Master), self-improvement/rule maintenance, and
      a detailed Task Master tool/command reference.
    • Modified existing general rules (backend.mdc, frontend.mdc,
      project-conventions.mdc, ui-ux-design-guidelines.mdc) to remove
      specific content (now in dedicated files) and adjusted their
      alwaysApply flags to false as they are now high-level guides.
  • The new dev_workflow.mdc and taskmaster.mdc rules provide detailed
    guidance on using Task Master, including MCP/CLI interactions, task
    management, dependencies, complexity analysis, and the iterative
    subtask implementation process.
  • cursor_rules.mdc provides guidelines for writing and maintaining
    the rule files themselves.
  • self_improve.mdc outlines triggers and processes for pattern
    recognition and rule updates.

This update provides a more structured and documented approach to
development tasks and project conventions, tightly integrated with the
Task Master AI tool.

Summary by CodeRabbit

  • New Features

    • Added comprehensive documentation and templates for workflow, rule creation, self-improvement processes, and Taskmaster command usage.
    • Introduced configuration files for AI model selection and global application settings.
    • Provided a detailed product requirements document (PRD) template and a full MarketingAgents PRD.
    • Added new rules for backend error handling, backend logging, and code style enforcement.
    • Included detailed guidelines for creating and maintaining Cursor rules.
  • Chores

    • Expanded .gitignore to cover additional log files, editor settings, and task management artifacts.
  • Style

    • Enforced the use of double quotes in the codebase.
  • Refactor

    • Updated rule files by clearing or modifying metadata fields and reorganizing rule content for clarity.
  • Bug Fixes

    • Updated backend server and service ports from 8000 to 8009 and related URLs in environment and documentation files.
    • Improved logging configuration for production environment with centralized log level settings.

Adds configuration for the Task Master AI MCP server and refactors the Cursor
rules documentation to support a task-driven development workflow using
Task Master.

Changes include:
- Added `.cursor/mcp.json` to configure the `task-master-ai` MCP server
  and include necessary API keys.
- Added Task Master configuration (`.taskmaster/config.json`) and an
  example PRD template (`.taskmaster/templates/example_prd.txt`).
- Updated `.gitignore` to exclude Task Master generated files and logs.
- Refactored `.cursor/rules/` into more specific files:
    - Renamed `coding-conventions.mdc` to `code-comments.mdc`.
    - Created new rules for backend error handling, backend logging,
      code style, general Cursor rule guidelines, development workflow
      (focusing on Task Master), self-improvement/rule maintenance, and
      a detailed Task Master tool/command reference.
    - Modified existing general rules (`backend.mdc`, `frontend.mdc`,
      `project-conventions.mdc`, `ui-ux-design-guidelines.mdc`) to remove
      specific content (now in dedicated files) and adjusted their
      `alwaysApply` flags to `false` as they are now high-level guides.
- The new `dev_workflow.mdc` and `taskmaster.mdc` rules provide detailed
  guidance on using Task Master, including MCP/CLI interactions, task
  management, dependencies, complexity analysis, and the iterative
  subtask implementation process.
- `cursor_rules.mdc` provides guidelines for writing and maintaining
  the rule files themselves.
- `self_improve.mdc` outlines triggers and processes for pattern
  recognition and rule updates.

This update provides a more structured and documented approach to
development tasks and project conventions, tightly integrated with the
Task Master AI tool.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jun 2, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This update introduces several new markdown documentation and configuration files, primarily for development workflow, code style, backend practices, and Taskmaster tool usage. It also restructures or removes metadata and rules in existing files, particularly splitting backend logging and error handling into dedicated documents and refining project conventions. The .gitignore and Taskmaster configuration are expanded.

Changes

File(s) Change Summary
.cursor/rules/backend-error-handling.mdc, .cursor/rules/backend-logging.mdc Added new markdown rule files for backend error handling and logging, each with specific guidelines and examples.
.cursor/rules/code-style.mdc Added a new rule enforcing double quotes in code style.
.cursor/rules/cursor_rules.mdc, .cursor/rules/dev_workflow.mdc,
.cursor/rules/self_improve.mdc, .cursor/rules/taskmaster.mdc
Added comprehensive documentation for rule creation, development workflow, self-improvement of rules, and Taskmaster tool/CLI reference.
.taskmaster/config.json Added a new configuration file specifying AI models and global Taskmaster parameters.
.taskmaster/templates/example_prd.txt Added a structured PRD template for product requirements documentation.
.taskmaster/docs/prd.txt Added a comprehensive Product Requirements Document describing platform features, UX, architecture, roadmap, risks, and appendix.
.taskmaster/reports/task-complexity-report.json Added a detailed JSON report analyzing task complexity and providing expansion prompts and reasoning.
.gitignore Expanded ignore rules to include more log files, IDE/editor configs, and task management files.
.cursor/rules/backend.mdc Removed logging and error handling rules; cleared metadata fields.
.cursor/rules/code-comments.mdc Removed the heading "## Comments"; main content unchanged.
.cursor/rules/frontend.mdc, .cursor/rules/ui-ux-design-guidelines.mdc Cleared metadata fields (description, globs) in frontmatter; content unchanged.
.cursor/rules/project-conventions.mdc Cleared description metadata and set alwaysApply to false.
.cursor/mcp.json Added MCP server configuration for filesystem context protocol.
.env.example Updated example environment variables to use port 8009 instead of 8000 for CSRF and GitHub OAuth URLs.
README.md Updated backend server port references from 8000 to 8009.
docker-compose.yml Changed host port mappings for db, redis, and backend services; added restart policy for mailhog.
requirements.txt Bumped multiple package versions to newer releases compatible with Python 3.11 to 4.0.
seo_blog_bot/settings.py Added "django-q" logger configuration; centralized log level retrieval; extended JSON console logging to "django-q" logger in production.

Sequence Diagram(s)

sequenceDiagram
    participant Developer
    participant Taskmaster CLI/MCP
    participant Config File
    participant Rule Docs

    Developer->>Taskmaster CLI/MCP: Initialize project / manage tasks
    Taskmaster CLI/MCP->>Config File: Load AI model and global settings
    Taskmaster CLI/MCP->>Rule Docs: Reference rules for code style, backend, workflow
    Developer->>Rule Docs: Consult guidelines for error handling, logging, code style
    Taskmaster CLI/MCP->>Developer: Provide task lists, status, guidance
Loading

Possibly related PRs

Poem

In burrows deep, a rabbit writes,
New rules for code—oh, what delights!
Logs and errors, now split apart,
Double quotes warm every heart.
With Taskmaster’s guide and PRD in hand,
This warren’s code will surely stand.
🐇✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8e89410 and 01d008e.

⛔ Files ignored due to path filters (1)
  • poetry.lock is excluded by !**/*.lock
📒 Files selected for processing (10)
  • .cursor/mcp.json (1 hunks)
  • .env.example (1 hunks)
  • .taskmaster/config.json (1 hunks)
  • .taskmaster/docs/prd.txt (1 hunks)
  • .taskmaster/reports/task-complexity-report.json (1 hunks)
  • .taskmaster/templates/example_prd.txt (1 hunks)
  • README.md (2 hunks)
  • docker-compose.yml (4 hunks)
  • requirements.txt (3 hunks)
  • seo_blog_bot/settings.py (2 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@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: 7

🧹 Nitpick comments (4)
.cursor/rules/frontend.mdc (1)

12-12: Typographical error in guideline

There’s a typo in the sentence:

  • Change “New controllers shold be created in frontend/src/controllers directory”
    to “New controllers should be created in frontend/src/controllers directory.”
.gitignore (1)

145-165: Review Task Master AI ignore section

The new section covers logs, IDE configs, and Task Master files. However, the placeholder comments for “Dependency directories” and “Environment variables” lack actual patterns. Please verify whether additional directories or files should be ignored, or remove these placeholders if they’re not needed.

.taskmaster/config.json (1)

1-31: Consider adding runtime validation for the configuration

To catch misconfigurations early, define a JSON Schema (e.g., config.schema.json) and validate .taskmaster/config.json during startup or in CI. This will enforce required fields and correct types.

.cursor/rules/dev_workflow.mdc (1)

1-5: Consider adding version information to the frontmatter.

The YAML frontmatter is well-structured but could benefit from version information to track documentation updates and ensure consistency across the workflow ecosystem.

 ---
 description: Guide for using Task Master to manage task-driven development workflows
+version: 1.0.0
+lastUpdated: 2024-12-19
 globs: **/*
 alwaysApply: true
 ---
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 24ae3a5 and b4db2d4.

📒 Files selected for processing (15)
  • .cursor/rules/backend-error-handling.mdc (1 hunks)
  • .cursor/rules/backend-logging.mdc (1 hunks)
  • .cursor/rules/backend.mdc (1 hunks)
  • .cursor/rules/code-comments.mdc (0 hunks)
  • .cursor/rules/code-style.mdc (1 hunks)
  • .cursor/rules/cursor_rules.mdc (1 hunks)
  • .cursor/rules/dev_workflow.mdc (1 hunks)
  • .cursor/rules/frontend.mdc (1 hunks)
  • .cursor/rules/project-conventions.mdc (1 hunks)
  • .cursor/rules/self_improve.mdc (1 hunks)
  • .cursor/rules/taskmaster.mdc (1 hunks)
  • .cursor/rules/ui-ux-design-guidelines.mdc (1 hunks)
  • .gitignore (1 hunks)
  • .taskmaster/config.json (1 hunks)
  • .taskmaster/templates/example_prd.txt (1 hunks)
💤 Files with no reviewable changes (1)
  • .cursor/rules/code-comments.mdc
🧰 Additional context used
🪛 LanguageTool
.taskmaster/templates/example_prd.txt

[grammar] ~29-~29: The past participle is required after “to be”.
Context: ... and detailing exactly what needs to be build in each phase so it can later be cut up...

(BE_VBP_IN)

🔇 Additional comments (15)
.cursor/rules/ui-ux-design-guidelines.mdc (1)

2-3: Missing description and globs metadata may disable rule application

The description: and globs: fields were cleared, which could prevent this rule from being applied. Please confirm whether empty globs are intentional (e.g., managed through a centralized config) or if specific patterns (e.g., *.html, *.css, *.js) should be defined to target the intended files.

.cursor/rules/frontend.mdc (1)

2-3: Empty frontmatter metadata might unintentionally disable the rule

The description: and globs: fields are now blank, and with alwaysApply: false, this rule may not match any files. Please verify whether globs are managed elsewhere or if you need to repopulate them (e.g., *.js, *.html).

.taskmaster/config.json (1)

1-31: Configuration structure looks sound

The JSON centralizes AI model parameters and global settings without exposing secrets. No syntax or schema errors detected.

.cursor/rules/code-style.mdc (1)

2-4: Clarify rule application scope

With globs: empty and alwaysApply: true, confirm that this style rule is intended to apply universally. If you only want it for certain file types (e.g., .js, .ts, .py), please add the appropriate glob patterns.

.cursor/rules/backend-logging.mdc (1)

6-14: Excellent logging guidelines with practical examples.

The logging rules are comprehensive and include practical examples with structlog. The emphasis on contextual logging and appropriate log levels will help maintain good observability practices.

.cursor/rules/project-conventions.mdc (2)

2-4: Verify the intentional metadata changes.

The description field has been cleared and alwaysApply changed from true to false. Please confirm these changes are intentional as part of the cursor rules restructuring.

These metadata changes may affect how and when this rule is applied. Consider whether:

  1. The description should remain empty or needs a new value
  2. The selective application (alwaysApply: false) aligns with the intended rule usage

6-86: Comprehensive project conventions documentation.

The project conventions are well-documented and provide clear guidance on the tech stack, dependencies, architecture patterns, and testing approaches. The conventions promote maintainability and consistency across the codebase.

.cursor/rules/backend.mdc (2)

2-3: Verify the metadata field clearing.

Similar to other files, the description and globs fields have been cleared. Confirm this is intentional as part of the cursor rules restructuring.

Consider whether these fields should have values or remain empty as part of the new rule organization strategy.


6-31: Well-focused backend development guidelines.

The streamlined content effectively focuses on Django-specific backend practices, API development, and worker configuration. The separation of logging and error handling concerns into dedicated files improves the modularity of the rule system.

.taskmaster/templates/example_prd.txt (1)

1-47: Well-structured PRD template with comprehensive guidance.

The template provides excellent structure for product requirements documentation, with clear separation between context and PRD sections. The guidance is thorough and actionable, covering all essential aspects from overview to technical architecture and risk assessment.

🧰 Tools
🪛 LanguageTool

[grammar] ~29-~29: The past participle is required after “to be”.
Context: ... and detailing exactly what needs to be build in each phase so it can later be cut up...

(BE_VBP_IN)

.cursor/rules/cursor_rules.mdc (1)

1-54: Excellent foundational guidelines for Cursor rules.

This document provides comprehensive and well-structured guidelines for creating and maintaining Cursor rules. The content covers all essential aspects including required structure, formatting conventions, file references, code examples, and maintenance practices. The document follows its own prescribed formatting standards and serves as an excellent reference for the other rule files in this PR.

.cursor/rules/self_improve.mdc (1)

7-72: Comprehensive framework for rule improvement.

The content provides an excellent framework for continuously improving code quality rules. It covers all essential aspects including improvement triggers, analysis processes, update criteria, quality checks, and maintenance practices. The structured approach with clear examples and actionable guidance aligns well with the overall documentation standards.

.cursor/rules/taskmaster.mdc (1)

1-408: Comprehensive and well-structured Taskmaster reference documentation.

This document provides excellent comprehensive coverage of all Taskmaster MCP tools and CLI commands. The structure is logical and well-organized, with clear sections for different functional areas. The parameter descriptions are detailed and include both MCP and CLI variants, usage examples, and important operational notes. The cross-references to other documentation files and proper frontmatter formatting align with the established guidelines.

.cursor/rules/dev_workflow.mdc (2)

107-123: Excellent configuration management documentation.

The distinction between .taskmaster/config.json for primary configuration and environment variables for sensitive API keys is well-designed and clearly explained. The warning about not manually editing config files and the troubleshooting guidance for failed AI commands are particularly valuable.


177-230: Comprehensive iterative subtask implementation workflow.

This section provides an excellent detailed workflow for implementing subtasks with proper logging, progress tracking, and rule updates. The emphasis on logging "what worked" and "what didn't work" is a great practice for knowledge retention and avoiding repeated mistakes.

The workflow correctly integrates with git practices and encourages comprehensive commit messages, which aligns with good software development practices.

Copy link
Contributor

@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.

PR Summary

Integrates Task Master AI for project management and establishes comprehensive development guidelines through new Cursor rules. The changes focus on standardizing development practices and workflow automation.

  • Added Task Master AI configuration with .taskmaster/config.json supporting multiple AI providers (Google, Perplexity, Anthropic) for automated task management
  • Introduced structured backend guidelines in /.cursor/rules/backend-logging.mdc and /.cursor/rules/backend-error-handling.mdc for consistent logging and error handling
  • Added comprehensive development workflow guide in /.cursor/rules/dev_workflow.mdc detailing Task Master integration and usage
  • Established rule maintenance framework in /.cursor/rules/self_improve.mdc for keeping guidelines current
  • Standardized frontend development with Stimulus JS and TailwindCSS conventions in /.cursor/rules/frontend.mdc

15 file(s) reviewed, 20 comment(s)
Edit PR Review Bot Settings | Greptile

Comment on lines +9 to +13
logger.warning(
"Error occurred during profile update",
error=str(e),
profile_id=profile.id
)
Copy link
Contributor

Choose a reason for hiding this comment

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

style: Example shows raw string concatenation with str(e). Use structlog's built-in exception handling instead.

Copy link
Owner Author

Choose a reason for hiding this comment

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

suggest a change

Comment on lines +152 to +153
# Dependency directories
# Environment variables
Copy link
Contributor

Choose a reason for hiding this comment

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

style: Empty section headers ('Dependency directories' and 'Environment variables') should be removed


## AI Model Configuration

### 2. Manage Models (`models`)
Copy link
Contributor

Choose a reason for hiding this comment

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

logic: Duplicate section number '2' (first used for 'Parse PRD'). Should be '3. Manage Models'

Suggested change
### 2. Manage Models (`models`)
### 3. Manage Models (`models`)

* **CLI Command:** `task-master clear-subtasks [options]`
* **Description:** `Remove all subtasks from one or more specified Taskmaster parent tasks.`
* **Key Parameters/Options:**
* `id`: `The ID(s) of the Taskmaster parent task(s) whose subtasks you want to remove, e.g., '15' or '16,18'. Required unless using `all`.) (CLI: `-i, --id <ids>`)
Copy link
Contributor

Choose a reason for hiding this comment

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

syntax: Syntax error in backtick placement: all.) should be all`).

Suggested change
* `id`: `The ID(s) of the Taskmaster parent task(s) whose subtasks you want to remove, e.g., '15' or '16,18'. Required unless using `all`.) (CLI: `-i, --id <ids>`)
* `id`: `The ID(s) of the Taskmaster parent task(s) whose subtasks you want to remove, e.g., '15' or '16,18'. Required unless using all`). (CLI: `-i, --id <ids>`)

* `AZURE_OPENAI_API_KEY` (Requires `AZURE_OPENAI_ENDPOINT` too)
* `OPENROUTER_API_KEY`
* `XAI_API_KEY`
* `OLLANA_API_KEY` (Requires `OLLAMA_BASE_URL` too)
Copy link
Contributor

Choose a reason for hiding this comment

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

syntax: Typo in environment variable name: OLLANA_API_KEY should be OLLAMA_API_KEY

Suggested change
* `OLLANA_API_KEY` (Requires `OLLAMA_BASE_URL` too)
* `OLLAMA_API_KEY` (Requires `OLLAMA_BASE_URL` too)

[Break down the development process into phases:
- MVP requirements
- Future enhancements
- Do not think about timelines whatsoever -- all that matters is scope and detailing exactly what needs to be build in each phase so it can later be cut up into tasks]
Copy link
Contributor

Choose a reason for hiding this comment

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

syntax: 'build' should be 'built' in 'needs to be build'

Suggested change
- Do not think about timelines whatsoever -- all that matters is scope and detailing exactly what needs to be build in each phase so it can later be cut up into tasks]
- Do not think about timelines whatsoever -- all that matters is scope and detailing exactly what needs to be built in each phase so it can later be cut up into tasks]

rasulkireev and others added 5 commits June 3, 2025 10:24
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Shift local development ports for web (8000 to 8009), database (5432
to 5433), and Redis (6379 to 6380) in docker-compose.yml. Update
corresponding port references in .env.example and README.md setup
instructions. Add `restart: unless-stopped` to the mailpit service.

Introduce the comprehensive Product Requirements Document (PRD) for the
MarketingAgents platform in `.taskmaster/docs/prd.txt`. Delete the old
PRD file located in the `scripts` directory.

Add Bedrock Base URL and User ID fields to the .taskmaster/config.json
file and add django-q logger configuration in settings.py for improved
task queue logging.

Include new `.cursor/mcp.json` file for Cursor IDE configuration and
add the generated `task-complexity-report.json`.
@rasulkireev rasulkireev merged commit cc7ee70 into main Jun 7, 2025
1 of 2 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Aug 9, 2025
This was referenced Sep 8, 2025
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.

2 participants