Cluas — Cursor Project Guide
Mode: Surgical (1)
Cursor should follow all rules below unless explicitly overridden.
1. Operational Mode
Surgical Mode Rules
- Do not refactor unless explicitly instructed.
- Do not modify multiple files unless I list them.
- Never modify architecture, directories, or file names without approval.
- Suggest changes through tickets or plans before acting.
- Show diffs before application.
- When uncertain, ask before reading or writing.
Scope Minimization
- Default to reading only the file(s) mentioned in the prompt.
- If the task affects a directory, request confirmation before a bulk read.
- Use subfolder-level cursor.md files to override local behavior.
2. Project Overview
Cluas is a multi-agent research assistant with:
- Four character agents with distinct personas (
src/characters) - An MCP-based tool layer (
src/cluas_mcp) - A shared utility layer (
src/utils) - A Gradio-based UI (
src/gradio) - An orchestration layer (
src/orchestrator.py) - Local JSON-based memory and cache (
src/data)
3. Repository Structure
src/ characters/ # persona logic cluas_mcp/ # MCP servers & entrypoints academic/ common/ domain/ news/ observation/ web/ data/ # stored memory & cache (never modify) gradio/ # UI utils/ # shared utilities orchestrator.py # high-level orchestrator
4. Safe Editing Areas
Cursor may edit:
src/characters/*src/cluas_mcp/*except where noted as fragilesrc/gradio/app.pysrc/utils/*- Implementation-level code supporting tools
- Small, isolated improvements
5. Restricted / Fragile Areas
src/orchestrator.py— changes require explicit approvalsrc/data/*— never modify programmatically or structurally- Any file not listed as safe
- Any control-plane glue code unless specifically permitted
- Any config or naming conventions
6. Architectural Notes
Characters Layer
- Each file defines a persona with specific expertise.
- Output formatting conventions must remain stable.
- Do not merge personas; do not modify persona names or roles.
MCP Layer
Contains specialized tool entrypoints:
academic/: arXiv, PubMed, Semantic Scholar fetchersnews/: news API searchobservation/: bird/weather observational toolsweb/: trending and general web searchcommon/: shared HTTP, memory, cache logic
Rules:
- Do not alter API endpoint URLs without instruction.
- Network logic should be consistent across tools.
- Retry, caching, and rate-limiting must remain stable.
Utilities
model_list_groq.pyand others should remain small and self-contained.- Avoid large rewrites; maintain consistency.
Gradio UI
- Keep user-facing function names and event wiring intact.
Orchestrator
- Treat as a fragile, single-source-of-truth.
- Do not rewrite flow control, dispatch, or agent coordination without approval.
7. Code Conventions
General
- Follow existing stylistic patterns.
- Prefer explicitness over magic.
- Use docstrings consistent with current style.
Import rules
- Maintain import locality.
- Avoid introducing top-level cross-layer dependencies.
Error handling
- Follow existing try/except patterns.
- Do not remove error metadata or context.
8. Ticket Workflow (Required Before Major Changes)
When asked for anything non-trivial:
- Produce a numbered list of proposed tickets.
- Each ticket contains:
- Goal
- Impacted files
- Expected risk
- Estimated complexity
- Wait for explicit approval before generating code.
Example ticket structure:
[Ticket 1] Improve arXiv query building Files: src/cluas_mcp/academic/arxiv.py Risk: Low Complexity: Low Notes: Only adjust parsing logic.
9. Diff Workflow
For all modifications:
- Always show a diff preview.
- Only write code after explicit approval.
- Keep diffs minimal, targeted, and reversible.
- Do not auto-format unrelated areas.
10. Performance & Credit Preservation
- Do not scan the whole repo without being asked.
- Limit reads to single files or small folders.
- Ask before reading directories > 10 files.
- Prefer incremental review over full-context analysis.
- Avoid speculative work.
11. Subfolder cursor.md Rules
If a directory contains its own cursor.md:
- That file overrides root rules for that directory only.
- Root-level rules apply everywhere else.
- Local rules must remain compatible with Surgical Mode.
12. MCP Tool Guidelines
When editing MCP server/entrypoint modules:
- Maintain signatures required by the MCP spec.
- Preserve tool names, IDs, argument shapes.
- Keep responses deterministic unless instructed otherwise.
- Do not alter output contract formats.
- Keep HTTP client logic consistent across tools.
13. Persona/Character Guidelines
- Personas have fixed tone, knowledge windows, and behavioral constraints.
- Do not alter identity, speech patterns, or output styles.
- Internal logic may be improved but not reimagined.
14. Orchestrator Guidelines (High-Risk Zone)
Before editing orchestrator.py, always:
- Generate a plan.
- Produce tickets.
- Wait for explicit approval.
Disallowed without authorization:
- Rewiring tool routing
- Changing conversation state logic
- Modifying persona dispatch
- Changing execution order or concurrency rules
15. Testing / Validation Rules
- Follow current usage patterns; do not introduce new frameworks.
- Keep tests inline or minimal.
- Ensure MCP tools remain usable without breaking contract.
16. Prompt Templates (For Cursor Tasks)
General Improvement
“Review only this file: . Identify small improvements. No refactors.”
Write a patch
“Prepare a diff for tickets 1 and 2 only.”
Ask for a plan
“Before editing, give me a plan and a ticket list.”
Isolated folder work
“Limit analysis to src/cluas_mcp/news.”
17. Maintenance Guidelines
- Keep modifications atomic.
- Maintain existing naming conventions.
- Avoid unnecessary abstraction.
- Keep folder boundaries clean.
- Preserve backward compatibility.
18. Quick Summary for Cursor
- Surgical Mode only.
- Minimal diffs.
- Ask before reading large scopes.
- Never refactor without permission.
- Use tickets + plans before substantial work.
- Preserve architecture, personas, orchestrator flow.
- Subfolder cursor.md files override root rules.