From arc
Copies Arc's coding standards for TypeScript, React, Next.js, Tailwind, testing patterns, and UI guidelines to .ruler/ directory for AI tools to follow project conventions.
npx claudepluginhub howells/arc --plugin arcThis skill uses the workspace's default tool permissions.
<tool_restrictions>
Provides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
<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> Arc-owned files live under the Arc install root for full-runtime installs.
Set ${ARC_ROOT} to that root and use ${ARC_ROOT}/... for Arc bundle files such as
references/, disciplines/, agents/, templates/, scripts/, and rules/.
Project-local files stay relative to the user's repository. </arc_runtime>
───────────────────────────────────────────────────────────
Apply Arc's coding standards to the current project.
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 install root from this skill's location and refer to it as ${ARC_ROOT} for the rest of this workflow.
Copy all rules from Arc to the project:
cp -r "${ARC_ROOT}/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 "${ARC_ROOT}/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:
${ARC_ROOT}/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.
- 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/`