Conversation
- Convert 5 .mdc files to 3 consolidated AGENTS.md files - Update python-uv, nodejs, and bunjs rules.yaml to use new format - Remove legacy .cursor/rules directories and files - Follow agents.md specification from https://agents.md/ Files changed: - Created common/AGENTS.md (general Agentuity configuration guidelines) - Created common/js/AGENTS.md (JavaScript/TypeScript agent development) - Created common/py/AGENTS.md (Python agent development) - Updated rules.yaml files to copy AGENTS.md to project root - Removed common/cursor/, common/js/cursor/, common/py/cursor/ directories Co-Authored-By: jhaynie@agentuity.com <jhaynie@gmail.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
WalkthroughReplaces .cursor/rules *.mdc copies with project-root AGENTS.md creation across bunjs, nodejs, and python-uv templates. Adds new AGENTS.md docs (root, JS/TS, Python). Removes legacy cursor .mdc guidance files. No runtime logic changes; only template step adjustments and documentation restructuring. Changes
Sequence Diagram(s)sequenceDiagram
participant Dev as Developer
participant Tool as Template Generator
participant Repo as New Project
Dev->>Tool: Run new_project
Tool->>Repo: create_file README.md (unchanged)
Tool->>Repo: create_file AGENTS.md (from language-specific common/*/AGENTS.md)
Tool->>Repo: create_file .editorconfig (unchanged)
Note over Tool,Repo: Removed prior copy_dir of *.mdc to .cursor/rules
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
✨ Finishing Touches🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (7)
common/py/AGENTS.md (1)
95-99: Confirm Python logger method naming:warnvswarningMany Python loggers follow the stdlib naming (
warningvswarn, wherewarnis deprecated). If Agentuity’s logger follows stdlib semantics, consider usingwarning. If not, please ignore. Proposed tweak shown below.- - `context.logger.warn(message, *args, **kwargs)`: Logs a warning message + - `context.logger.warning(message, *args, **kwargs)`: Logs a warning messagepython-uv/rules.yaml (1)
93-95: Consider creating a stub.env.productionduring scaffoldDocs recommend
.env.production, but the scaffold only creates.env.development. Creating an empty.env.productionimproves DX and consistency.- action: create_file filename: ".env.development" from: "common/env.development" + - action: create_file + filename: ".env.production" + content: ""common/js/AGENTS.md (3)
8-8: Tighten wording for type importsMinor clarity improvement; “in the node_modules folder” is redundant.
-- Prefer loading types from the node modules package `@agentuity/sdk` in the node_modules folder +- Prefer importing types from `@agentuity/sdk`
19-21: Fix markdownlint MD010 (hard tabs) in exampleReplace the hard tab before the return statement with spaces to satisfy markdownlint.
-export default async function Agent(req: AgentRequest, resp: AgentResponse, ctx: AgentContext) { - return resp.json({hello: 'world'}); -} +export default async function Agent(req: AgentRequest, resp: AgentResponse, ctx: AgentContext) { + return resp.json({ hello: "world" }); +}
50-51: Correct method signature formatting for typed object payloadReads like a property; likely intended as a method.
-- `request.data.object<T>: Promise<T>`: Gets the payload as a typed object +- `request.data.object<T>(): Promise<T>`: Gets the payload as a typed objectbunjs/rules.yaml (1)
120-121: Add.env.productionscaffold for consistency with docsThe docs recommend
.env.production; add a placeholder to help users.- action: create_file filename: ".env.development" from: "common/env.development" + - action: create_file + filename: ".env.production" + content: ""nodejs/rules.yaml (1)
98-100: Optional: Link AGENTS.md from README for discoverability.Consider adding a short “Developer Guide: see AGENTS.md” link in the README template so users spot it immediately after project creation.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (9)
bunjs/rules.yaml(1 hunks)common/AGENTS.md(1 hunks)common/cursor/agentuity.mdc(0 hunks)common/js/AGENTS.md(4 hunks)common/js/cursor/agent.mdc(0 hunks)common/py/AGENTS.md(4 hunks)common/py/cursor/agent.mdc(0 hunks)nodejs/rules.yaml(1 hunks)python-uv/rules.yaml(1 hunks)
💤 Files with no reviewable changes (3)
- common/py/cursor/agent.mdc
- common/js/cursor/agent.mdc
- common/cursor/agentuity.mdc
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
common/js/AGENTS.md
20-20: Hard tabs
Column: 1
(MD010, no-hard-tabs)
🔇 Additional comments (3)
common/AGENTS.md (1)
5-15: Clear, concise top-level guidance — LGTMThe migration to a single AGENTS.md at the root is well explained and aligns with the new templates. Nothing blocking here.
python-uv/rules.yaml (1)
74-76: AGENTS.md creation in root is correct and replaces legacy Cursor rulesThe step places language-specific guidance where users expect it, and aligns with the removal of .cursor/rules/*.mdc.
bunjs/rules.yaml (1)
105-107: AGENTS.md is correctly generated from the JS guideGood placement alongside README. This matches the PR objective to deprecate legacy .cursor copies.
| - action: create_file | ||
| filename: "AGENTS.md" | ||
| from: "common/js/AGENTS.md" |
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
LGTM: AGENTS.md creation is correctly added at project root using the JS-specific source.
Placement after README.md and before editorconfig is good. The key names match existing create_file usage (“from”), and the path aligns with common/js assets used elsewhere in this template.
Run this script to verify end-to-end consistency across templates and ensure no legacy Cursor artifacts remain:
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Verify AGENTS.md sources exist =="
for f in "common/js/AGENTS.md" "common/py/AGENTS.md" "common/AGENTS.md"; do
if [[ -f "$f" ]]; then
echo "OK: $f"
else
echo "MISSING: $f" >&2
fi
done
echo
echo "== Check rules.yaml files include AGENTS.md creation =="
# Show the AGENTS.md create_file blocks in the three templates
for dir in nodejs bunjs python-uv; do
if [[ -f "$dir/rules.yaml" ]]; then
echo "-- $dir/rules.yaml --"
rg -nP -C3 'action:\s*create_file\s*\n\s*filename:\s*"AGENTS\.md"\s*\n\s*(from|template):\s*"(common/(js|py)/AGENTS\.md)"' "$dir/rules.yaml" || echo "AGENTS.md create_file block NOT FOUND in $dir/rules.yaml" >&2
echo
fi
done
echo "== Ensure no legacy .cursor/.mdc references remain =="
# Expect: no matches
if rg -nP -C1 '(\.cursor/|\.mdc\b)' ; then
echo "Found legacy .cursor/.mdc references above. Please remove or update." >&2
else
echo "OK: No legacy .cursor/.mdc references found."
fi
echo
echo "== Ensure no copy_dir to .cursor/rules remains =="
# Expect: no matches
if rg -nP -C2 'action:\s*copy_dir|\.cursor/rules' -- '*.yaml' ; then
echo "Found copy_dir/.cursor/rules usage above. Please remove or update." >&2
else
echo "OK: No copy_dir to .cursor/rules found in YAML."
fiLength of output: 2501
Missing AGENTS.md in bunjs & python-uv templates
All AGENTS.md sources (common/js/AGENTS.md, common/py/AGENTS.md, common/AGENTS.md) exist and no legacy .cursor/.mdc artifacts remain, but the create_file block is only in nodejs/rules.yaml. The other two language templates need the same addition:
• bunjs/rules.yaml
• python-uv/rules.yaml
Please add, immediately after the README.md step (and before the editorconfig step), in each file:
- action: create_file
filename: "AGENTS.md"
from: "common/js/AGENTS.md" # use common/py/AGENTS.md in python-uvFor example, in bunjs/rules.yaml:
@@
- - action: create_file
- filename: "README.md"
+ - action: create_file
+ filename: "AGENTS.md"
+ from: "common/js/AGENTS.md"
- action: create_file
filename: "README.md"And in python-uv/rules.yaml swap in from: "common/py/AGENTS.md".
🤖 Prompt for AI Agents
In nodejs/rules.yaml lines 98-100 the create_file for AGENTS.md exists;
replicate this in bunjs/rules.yaml and python-uv/rules.yaml by inserting,
immediately after the README.md create_file step and before the editorconfig
step, a create_file block that creates "AGENTS.md" from the common template; for
bunjs use from: "common/js/AGENTS.md" and for python-uv use from:
"common/py/AGENTS.md" so each template adds the AGENTS.md file in the same
position as nodejs.
jhaynie
left a comment
There was a problem hiding this comment.
In nodejs/rules.yaml lines 98-100 the create_file for AGENTS.md exists;
replicate this in bunjs/rules.yaml and python-uv/rules.yaml by inserting,
immediately after the README.md create_file step and before the editorconfig
step, a create_file block that creates "AGENTS.md" from the common template; for
bunjs use from: "common/js/AGENTS.md" and for python-uv use from:
"common/py/AGENTS.md" so each template adds the AGENTS.md file in the same
position as nodejs.
Refactor templates from legacy Cursor rules to agents.md format
Summary
This PR migrates the Agentuity templates from the legacy
.cursor/rules/*.mdcformat to the new standardizedAGENTS.mdformat following the specification from https://agents.md/.Key changes:
common/AGENTS.md- General Agentuity configuration guidelinescommon/js/AGENTS.md- JavaScript/TypeScript agent development guidecommon/py/AGENTS.md- Python agent development guide.cursor/rules/common/cursor/,common/js/cursor/,common/py/cursor/)The new AGENTS.md files combine SDK documentation with development guidelines in a single, standardized format that follows the emerging agents.md specification used by other AI development tools.
Review & Testing Checklist for Human
agentuity newfor all three runtimes (python-uv, nodejs, bunjs) and verify AGENTS.md files are created correctly in the project rootrules.schema.jsonand use correct action syntaxgrep -r "\.cursor" .to confirm no references to the old format remain anywhere in the repositoryReview Focus Areas
The highest risk areas are the rules.yaml modifications since they control the entire project scaffolding process, and the content consolidation where multiple specialized files were merged into unified guides.
Diagram
%%{ init : { "theme" : "default" }}%% flowchart TD subgraph Templates["Template System"] PythonRules["python-uv/rules.yaml"]:::major-edit NodeRules["nodejs/rules.yaml"]:::major-edit BunRules["bunjs/rules.yaml"]:::major-edit end subgraph NewFiles["New AGENTS.md Files"] CommonAgents["common/AGENTS.md"]:::major-edit JSAgents["common/js/AGENTS.md"]:::major-edit PyAgents["common/py/AGENTS.md"]:::major-edit end subgraph Removed["Removed (Legacy)"] CursorDir["common/cursor/"]:::removed JSCursorDir["common/js/cursor/"]:::removed PyCursorDir["common/py/cursor/"]:::removed end PythonRules -->|"copies to project root"| PyAgents NodeRules -->|"copies to project root"| JSAgents BunRules -->|"copies to project root"| JSAgents CursorDir -.->|"replaced by"| CommonAgents JSCursorDir -.->|"consolidated into"| JSAgents PyCursorDir -.->|"consolidated into"| PyAgents subgraph Legend L1["Major Edit"]:::major-edit L2["Removed"]:::removed end classDef major-edit fill:#90EE90 classDef removed fill:#FFB6C1Notes
.cursor/rules/directory structure in favor of a single root-level AGENTS.md file per projectLink to Devin run: https://app.devin.ai/sessions/cd18f4d5e52b4f319d61ed0710d94e3b
Requested by: @jhaynie
Summary by CodeRabbit
Documentation
Chores