~ / rigs / dyoshikawa / rulesync

dyoshikawa/rulesync

A Utility CLI for AI Coding Agents

↗ GitHub ★ 1,492 mit updated 6d ago project Claude CodeCodexGemini CLI
share on X
ARCHETYPE
Fort Knox
Deny lists, pre-tool hooks, sandboxing. Nothing touches prod without a signature.
CONTEXT TAX · EVERY TURN
~4.2k tokens
Moderate · median rig: 2.3k · breakdown
GUARDRAILS
4/5
Blocks destructive commands · Protects secrets · No YOLO mode · Sandbox or ask-first rules · details

Copy this rig

# review before running: this installs third-party code
$ claude mcp add --transport sse deepwiki https://mcp.deepwiki.com/sse
$ claude mcp add rulesync -- pnpm dev mcp
$ npx degit dyoshikawa/rulesync/.claude ./rig-rulesync  # inspect, then merge into .claude/

MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.

$ claude mcp add --transport sse deepwiki https://mcp.deepwiki.com/sse
$ claude mcp add rulesync -- pnpm dev mcp
$ npx degit dyoshikawa/rulesync/.rulesync/skills/agent-team .claude/skills/agent-team
$ npx degit dyoshikawa/rulesync/.rulesync/skills/approve .claude/skills/approve
$ npx degit dyoshikawa/rulesync/.rulesync/skills/babysit-dependabot-pr .claude/skills/babysit-dependabot-pr
$ npx degit dyoshikawa/rulesync/.rulesync/skills/batch-all-issues .claude/skills/batch-all-issues
$ npx degit dyoshikawa/rulesync/.rulesync/skills/batch-all-scrap-issues .claude/skills/batch-all-scrap-issues
$ npx degit dyoshikawa/rulesync/.rulesync/skills/batch-review-prs-awaiting-maintainer .claude/skills/batch-review-prs-awaiting-maintainer
$ npx degit dyoshikawa/rulesync/.rulesync/skills/clean-branches .claude/skills/clean-branches
$ npx degit dyoshikawa/rulesync/.rulesync/skills/clean-worktrees .claude/skills/clean-worktrees
$ npx degit dyoshikawa/rulesync/.rulesync/skills/commit-push-pr .claude/skills/commit-push-pr
$ npx degit dyoshikawa/rulesync/.rulesync/skills/create-issue-with-websearch .claude/skills/create-issue-with-websearch
$ npx degit dyoshikawa/rulesync/.rulesync/skills/create-issue .claude/skills/create-issue
$ npx degit dyoshikawa/rulesync/.rulesync/skills/create-scrap-issue .claude/skills/create-scrap-issue
$ npx degit dyoshikawa/rulesync/.rulesync/skills/diff-analyze .claude/skills/diff-analyze
$ npx degit dyoshikawa/rulesync/.rulesync/skills/draft-issue-to-external-repository .claude/skills/draft-issue-to-external-repository
$ npx degit dyoshikawa/rulesync/.rulesync/skills/draft-release-post .claude/skills/draft-release-post
$ npx degit dyoshikawa/rulesync/.rulesync/skills/draft-release .claude/skills/draft-release
$ npx degit dyoshikawa/rulesync/.rulesync/skills/explain-issue .claude/skills/explain-issue
$ npx degit dyoshikawa/rulesync/.rulesync/skills/explain-pr .claude/skills/explain-pr
$ npx degit dyoshikawa/rulesync/.rulesync/skills/git-worktree-runner .claude/skills/git-worktree-runner
$ npx degit dyoshikawa/rulesync/.rulesync/skills/goal-issues-and-release .claude/skills/goal-issues-and-release
$ npx degit dyoshikawa/rulesync/.rulesync/skills/goal-pr .claude/skills/goal-pr
$ npx degit dyoshikawa/rulesync/.rulesync/skills/goal-release .claude/skills/goal-release
$ npx degit dyoshikawa/rulesync/.rulesync/skills/merge-contributor-pr .claude/skills/merge-contributor-pr
$ npx degit dyoshikawa/rulesync/.rulesync/skills/merge-pr .claude/skills/merge-pr
$ npx degit dyoshikawa/rulesync/.rulesync/skills/opencode-gpt-review .claude/skills/opencode-gpt-review
$ npx degit dyoshikawa/rulesync/.rulesync/skills/playwright-cli .claude/skills/playwright-cli
$ npx degit dyoshikawa/rulesync/.rulesync/skills/porting-another-repository .claude/skills/porting-another-repository
$ npx degit dyoshikawa/rulesync/.rulesync/skills/post-issue-comment .claude/skills/post-issue-comment
$ npx degit dyoshikawa/rulesync/.rulesync/skills/post-review-comments .claude/skills/post-review-comments
$ npx degit dyoshikawa/rulesync/.rulesync/skills/prs-awaiting-author .claude/skills/prs-awaiting-author
$ npx degit dyoshikawa/rulesync/.rulesync/skills/prs-awaiting-maintainer .claude/skills/prs-awaiting-maintainer
$ npx degit dyoshikawa/rulesync/.rulesync/skills/pull-main .claude/skills/pull-main
$ npx degit dyoshikawa/rulesync/.rulesync/skills/rebase-latest-main .claude/skills/rebase-latest-main
$ npx degit dyoshikawa/rulesync/.rulesync/skills/release-dry-run .claude/skills/release-dry-run
$ npx degit dyoshikawa/rulesync/.rulesync/skills/research-tool-updates .claude/skills/research-tool-updates
$ npx degit dyoshikawa/rulesync/.rulesync/skills/resolve-scrap-issues .claude/skills/resolve-scrap-issues
$ npx degit dyoshikawa/rulesync/.rulesync/skills/review-and-comments .claude/skills/review-and-comments
$ npx degit dyoshikawa/rulesync/.rulesync/skills/review-pr-lite .claude/skills/review-pr-lite
$ npx degit dyoshikawa/rulesync/.rulesync/skills/review-pr .claude/skills/review-pr
$ npx degit dyoshikawa/rulesync/.rulesync/skills/rulesync-feature-research .claude/skills/rulesync-feature-research

Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.

{
  "permissions": {
    "deny": [
      "Bash(git commit --no-verify:*)",
      "Bash(git remote add:*)",
      "Bash(git remote set-url:*)",
      "Bash(npm publish:*)",
      "Bash(pnpm publish:*)",
      "Bash(rm -rf //**)",
      "Bash(rm -rf ~/**)",
      "Read(.env*)"
    ]
  },
  "sandbox": {
    "enabled": true
  }
}

MCP servers (2)

serversourceest. tokens
DeepWiki remote · remote 900
dev · "rulesync" npm 2.5k

Skills (45)

Hooks (1)

eventmatcherruns
SessionStart*git pull && pnpm i

Permissions

deny (8)
Bash(git commit --no-verify:*)
Bash(git remote add:*)
Bash(git remote set-url:*)
Bash(npm publish:*)
Bash(pnpm publish:*)
Bash(rm -rf //**)
Bash(rm -rf ~/**)
Read(.env*)
ask (0)
—
allow (0)
—

Similar rigs

copied ✓