agent-development

agent-development is a cursor rule for Cursor from divar-ir/ai-doc-gen. It costs 0 tokens per session (702 once invoked), scanned A, original, MIT.

Project rules for building pydantic-ai agents, their tools, handlers, models, and prompt templates.

In plain words
What is it for?
Use them when adding or changing coordinator agents, tools, retry settings, model options, or YAML-based prompts.
Why use it?
They keep new agent code consistent with the project's structure, configuration, and supported model connections.

Cursor rule for Cursor

Written for Cursor: installed under .cursor/. Also seen: mentions CLAUDE.md; mentions AGENTS.md.

Good fit Use them when adding or changing coordinator agents, tools, retry settings, model options, or YAML-based prompts.

Compare 6 cursor rules from other repositories ↓
Install with agentmods
npx agentmods add rules/divar-ir/ai-doc-gen/agent-development
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/divar-ir/ai-doc-gen

Made for: Cursor.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for agent-development

README.md
[![agentmods](https://agentmods.dev/badge/rules/divar-ir/ai-doc-gen/agent-development/github.svg)](https://agentmods.dev/rules/divar-ir/ai-doc-gen/agent-development)
Your own site
<a href="https://agentmods.dev/rules/divar-ir/ai-doc-gen/agent-development"><img src="https://agentmods.dev/badge/rules/divar-ir/ai-doc-gen/agent-development/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for agent-development

Your own site · 80×15
<a href="https://agentmods.dev/rules/divar-ir/ai-doc-gen/agent-development"><img src="https://agentmods.dev/badge/rules/divar-ir/ai-doc-gen/agent-development.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 702 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00000 $0.00702
Opus 5.5 $0.00000 $0.00281
Sonnet 5.5 $0.00000 $0.00140
Haiku 4.5 $0.00000 $0.00070

Measured 1mo ago against content hash af502e038615, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

agent-development scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/agent-development.mdc · 64 lines

How it starts

The opening of the file, as written. The whole thing — 64 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Agent Development

Agent construction

Agents are built as properties on coordinator classes (AnalyzerAgent, DocumenterAgent, AIRulesGeneratorAgent):

@property
def _structure_analyzer_agent(self) -> Agent:
    model, model_settings = self._llm_model
    return Agent(
        name="Structure Analyzer",
        model=model,
        model_settings=model_settings,
        system_prompt=self._render_prompt("agents.structure_analyzer.system_prompt"),
        tools=[FileReadTool().get_tool(), ListFilesTool().get_tool()],
        retries=config.ANALYZER_AGENT_RETRIES,
    )
  • Model setup is OpenAI-compatible only: OpenAIChatModel(model_name, provider=OpenAIProvider(base_url=..., api_key=..., http_client=create_retrying_client())). There is no Gemini/custom provider path.
  • ModelSettings: temperature 0.0, max_tokens, timeout, parallel_tool_calls — all from src/config.py env constants.

Prompts

  • Jinja2 templates in YAML under src/agents/prompts/ (keys like agents.<name>.system_prompt / user_prompt), loaded by PromptManager and rendered via self._render_prompt(key) with repo_path etc. as variables.
  • New agent → new prompt section in the matching YAML file, never inline prompt strings in Python.

Orchestration

  • Analyzer: build a dict of task callables (one per non-excluded analysis), run through WorkerPool(max_workers=self._config.max_workers).
  • AI-rules generator: fixed pair of tasks via asyncio.gather(*tasks, return_exceptions=True).
  • After the run, validate_succession(files): raise ValueError only if NO output file exists; warn on partial success listing missing files.
  • Each agent writes its own output file (.ai/docs/*.md, README.md, CLAUDE.md/AGENTS.md, .cursor/rules/*.mdc); create parent dirs and clean absolute paths first.

Tools

class FileReadTool:
    def get_tool(self):
        return Tool(self._run, name="Read-File", takes_ctx=False, max_retries=...)

    def _run(self, file_path: str, line_number: int = 0, line_count: int = 200) -> str:
        """Docstring is the LLM-facing description — keep Args/Returns accurate."""
        ...
        raise ModelRetry(message="File not found")  # recoverable errors → ModelRetry

Read the full file on GitHub · 64 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 64 lines · 0 tokens per session scan A af502e038615

Subscribe to this mod's changes

agent-development is a cursor rule published in the GitHub repository divar-ir/ai-doc-gen (768 stars, last pushed 2mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 702 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other cursor rules, from other repositories

python-style

A set of required conventions for writing Python 3.12 code, including type notation, data structures, imports, line length, and Ruff checks. Ruff is a tool that finds style and common code problems.

Lawofall/AgentCore · 0 tokens

database-algorithm-rules

Database algorithm rules guide Python applications that store and retrieve data, including containerized services. They cover schema design, indexes, query efficiency, transactions, connection pools, caching, retries, and migrations.

holtwood/awesome-cursorrules-zh · 3 tokens

python-django-general

General coding guidance for Python and Django projects, including naming, formatting, modular apps, built-in tools, and maintainable structure. Python is a programming language, and Django is a Python web framework.

holtwood/awesome-cursorrules-zh · 195 tokens

python-general-style

Python style rules covering functional code, reusable modules, descriptive names, file naming, and a pattern where a function receives one object and returns one object.

holtwood/awesome-cursorrules-zh · 0 tokens

python-general-coding-standards

A set of general standards for Python projects, including type hints, input checking, code style, security, web requests, background work, and tests. It also covers FastAPI-specific tasks such as CORS and authentication.

holtwood/awesome-cursorrules-zh · 140 tokens

django-models

A small set of rules for Django models, the Python framework's definitions of database-backed data. It also guides how Django code should access and validate that data.

holtwood/awesome-cursorrules-zh · 78 tokens