skills/rules/SKILL.md
Apply Arc's coding rules to the current project. Copies rules to .ruler/ directory. Use when asked to "set up coding rules", "apply standards", "configure rules", or when starting a project that should follow Arc's conventions.
npx skillsauth add howells/arc rulesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
<tool_restrictions>
AskUserQuestion — Preserve the one-question-at-a-time interaction pattern for user decisions such as update confirmation and Ruler offers. In Claude Code, use the tool. In Codex, ask one concise plain-text question at a time unless a structured question tool is actually available in the current mode. Do not narrate missing tools or fallbacks to the user.EnterPlanMode — BANNED. Do NOT call this tool. This skill has its own structured process. Execute the steps below directly.ExitPlanMode — BANNED. You are never in plan mode.
</tool_restrictions><arc_runtime> This workflow requires the full Arc bundle, not a prompts-only install.
Paths in this skill use these conventions:
agents/..., references/..., disciplines/..., templates/..., scripts/..., rules/..., skills/<name>/... are Arc-owned files at the plugin root. Resolve the plugin root from this skill's filesystem location — it's the directory containing agents/ and skills/../... is local to this skill's directory..ruler/..., docs/..., src/..., or any project-relative path refers to the user's project repository.
</arc_runtime>
───────────────────────────────────────────────────────────
Apply Arc's coding standards to the current project.
<process>Use Glob tool: .ruler/*.md
If .ruler/ does not exist: Go to Step 2 (Fresh Install)
If .ruler/ exists: Go to Step 3 (Update Flow)
Resolve the Arc plugin root from this skill's filesystem location (it's the directory containing agents/ and skills/) — rules/ is a sibling of that directory.
Copy all rules from Arc to the project:
cp -r "rules/" .ruler/
Tell the user:
Rules copied to .ruler/
Files added:
- stack.md, api.md, ai-sdk.md, cli.md, code-style.md, env.md, git.md, integrations.md, tooling.md
- nextjs.md, react.md, tailwind.md, testing.md
- turborepo.md, typescript.md, versions.md
- interface/ (animation, design, forms, interactions, layout, performance, typography)
Go to Step 4 (Offer Ruler)
Existing .ruler/ found. Ask the user:
AskUserQuestion:
question: "Found existing .ruler/ in this project. Update with Arc's latest rules? This will backup current rules and overwrite with Arc's latest. You can review changes with `git diff .ruler/` after."
header: "Update Rules"
options:
- label: "Update rules"
description: "Backup current rules to .ruler.backup-TIMESTAMP/ and overwrite with Arc's latest"
- label: "Keep existing"
description: "Keep your current rules unchanged"
If user picks "Update rules":
# Create backup
cp -r .ruler/ ".ruler.backup-$(date +%Y%m%d-%H%M%S)/"
# Copy fresh rules
rm -rf .ruler/
cp -r "rules/" .ruler/
Tell the user:
Rules updated. Backup saved to .ruler.backup-YYYYMMDD-HHMMSS/
Review changes with: git diff .ruler/
Go to Step 4 (Offer Ruler)
If user picks "Keep existing":
Keeping existing rules. You can manually compare with Arc's rules at:
rules/
Done.
Ask the user:
AskUserQuestion:
question: "Want to distribute rules to other AI agents (Copilot, Cursor, etc.) via Ruler?"
header: "Distribute Rules"
options:
- label: "Run ruler apply"
description: "Run npx ruler apply to distribute rules to other AI tools"
- label: "Skip"
description: "Keep rules in .ruler/ only, distribute later if needed"
If user picks "Run ruler apply":
npx ruler apply
If ruler is not installed (command fails):
Ruler not found. Rules are in .ruler/ and ready for use.
To distribute to other AI agents, install ruler:
npm install -g ruler
Then run:
npx ruler apply
If user picks "Skip":
Rules are ready in .ruler/. Run `npx ruler apply` later if you want to distribute to other agents.
After rules are set up, check project complexity:
# Count source files
find . -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.jsx" \) | grep -v node_modules | wc -l
If >50 files or monorepo detected:
This looks like a complex project. Consider setting up Linear MCP for issue tracking:
1. Add to .mcp.json:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@anthropic/linear-mcp"]
}
}
}
2. Arc will then:
- Query active issues in /arc:suggest
- Create issues from /arc:audit findings
- Link work to issues for context
See .ruler/tooling.md for details.
If small project: Skip this suggestion.
Done.
</process> <notes> - Rules are copied, not symlinked, so projects can customize - Backup ensures user customizations are never lost - Ruler is optional — Arc works without it - After copying, rules are immediately available to Arc skills that read from `.ruler/` </notes>development
Go-live and shareability checklist covering the basics needed to make a project visitable, shareable, and ready for a first real audience. Use when asked to "launch", "go live", "make this shareable", "get this ready to show people", or prepare a project for a public URL.
development
Discover architectural friction and propose structural refactors with competing interface options. Focuses on deepening shallow modules, extracting grouped concerns into packages/modules, breaking up god files, reducing duplication, and improving testability. Use when asked to "improve the architecture", "find refactoring opportunities", "deepen modules", "consolidate coupling", "break up god components", "extract this into a package", "make this more testable", or "find architectural friction".
development
Create, review, or revise a concise project vision document that captures what a project is, who it is for, why it exists, success criteria, constraints, non-goals, and decision principles. Use when starting a new project, clarifying product direction, aligning a codebase for future agent work, defining a north star, or turning a vague idea into docs/vision.md.
tools
Use when starting any conversation - establishes Arc's skill routing, instruction priority, and bootstrap rules