~ / rigs / RemiMyrset / roots

RemiMyrset/roots

A GitHub template for pnpm + Turborepo TypeScript monorepos that AI coding agents can work in safely from day one.

↗ GitHub ★ 0 MIT updated 3d ago project Claude CodeCodexGemini CLI
share on X
ARCHETYPE
Skill Collector
Ten-plus skills loaded on demand. A procedural-knowledge library.
CONTEXT TAX · EVERY TURN
~3.4k tokens
Moderate · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Protects secrets · Pre-tool screening hook · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit RemiMyrset/roots/.claude ./rig-roots  # 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.

$ npx degit RemiMyrset/roots/.agents/skills/first-run .claude/skills/first-run
$ npx degit RemiMyrset/roots/.agents/skills/fix-ci .claude/skills/fix-ci
$ npx degit RemiMyrset/roots/.agents/skills/new-adr .claude/skills/new-adr
$ npx degit RemiMyrset/roots/.agents/skills/new-package .claude/skills/new-package
$ npx degit RemiMyrset/roots/.agents/skills/new-spec .claude/skills/new-spec
$ npx degit RemiMyrset/roots/.agents/skills/pr .claude/skills/pr
$ npx degit RemiMyrset/roots/.agents/skills/release .claude/skills/release
$ npx degit RemiMyrset/roots/.agents/skills/sync-template .claude/skills/sync-template
$ npx degit RemiMyrset/roots/.agents/skills/update-deps .claude/skills/update-deps
$ npx degit RemiMyrset/roots/.agents/skills/verify-docs .claude/skills/verify-docs

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

{
  "permissions": {
    "deny": [
      "Read(**/.env)",
      "Read(**/.env.local)",
      "Read(**/.env.*.local)",
      "Read(**/.env.development)",
      "Read(**/.env.production)",
      "Read(**/.env.staging)",
      "Read(**/.env.test)",
      "Read(**/.env.dev)",
      "Read(**/.env.prod)",
      "Read(**/.env.ci)",
      "Read(**/.env.qa)",
      "Read(**/.env.uat)",
      "Read(**/secrets/**)",
      "Read(**/*.pem)",
      "Read(**/*.key)",
      "Read(**/*.p12)",
      "Read(**/*.pfx)",
      "Read(**/*.jks)",
      "Read(**/.envrc)",
      "Read(**/.netrc)",
      "Read(**/_netrc)",
      "Read(**/.npmrc)",
      "Read(**/.ssh/id_*)",
      "Read(**/.aws/credentials)",
      "Read(**/.config/gh/hosts.yml)",
      "Read(**/GitHub CLI/hosts.yml)",
      "Read(**/.git-credentials)",
      "Read(**/.kube/config)",
      "Read(**/.docker/config.json)",
      "Read(**/.pgpass)",
      "Read(**/postgresql/pgpass.conf)",
      "Read(~/.ssh/id_*)",
      "Read(~/.aws/credentials)",
      "Read(~/.config/gh/hosts.yml)",
      "Read(~/AppData/Roaming/GitHub CLI/hosts.yml)",
      "Read(~/.git-credentials)",
      "Read(~/.kube/config)",
      "Read(~/.docker/config.json)",
      "Read(~/.pgpass)",
      "Read(~/AppData/Roaming/postgresql/pgpass.conf)",
      "Read(~/.netrc)",
      "Read(~/_netrc)",
      "Read(~/.npmrc)",
      "Bash(pnpm approve-builds:*)"
    ]
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash|PowerShell|Monitor",
        "hooks": [
          {
            "type": "command",
            "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/dispatch.mts\"; exit $((2*!!($true-$?)))"
          }
        ]
      }
    ]
  }
}

Skills (10)

Hooks (1)

eventmatcherruns
PreToolUseBash|PowerShell|Monitornode "${CLAUDE_PROJECT_DIR}/.claude/hooks/dispatch.mts"; exit $((2*!!($true-$?)))

Permissions

deny (44)
Read(**/.env)
Read(**/.env.local)
Read(**/.env.*.local)
Read(**/.env.development)
Read(**/.env.production)
Read(**/.env.staging)
Read(**/.env.test)
Read(**/.env.dev)
Read(**/.env.prod)
Read(**/.env.ci)
Read(**/.env.qa)
Read(**/.env.uat)
Read(**/secrets/**)
Read(**/*.pem)
Read(**/*.key)
Read(**/*.p12)
Read(**/*.pfx)
Read(**/*.jks)
Read(**/.envrc)
Read(**/.netrc)
Read(**/_netrc)
Read(**/.npmrc)
Read(**/.ssh/id_*)
Read(**/.aws/credentials)
Read(**/.config/gh/hosts.yml)
Read(**/GitHub CLI/hosts.yml)
Read(**/.git-credentials)
Read(**/.kube/config)
Read(**/.docker/config.json)
Read(**/.pgpass)
Read(**/postgresql/pgpass.conf)
Read(~/.ssh/id_*)
Read(~/.aws/credentials)
Read(~/.config/gh/hosts.yml)
Read(~/AppData/Roaming/GitHub CLI/hosts.yml)
Read(~/.git-credentials)
Read(~/.kube/config)
Read(~/.docker/config.json)
Read(~/.pgpass)
Read(~/AppData/Roaming/postgresql/pgpass.conf)
Read(~/.netrc)
Read(~/_netrc)
Read(~/.npmrc)
Bash(pnpm approve-builds:*)
ask (0)
—
allow (56)
Bash(git status:*)
Bash(git log:*)
Bash(git diff:*)
Bash(git show:*)
Bash(git add:*)
Bash(git commit:*)
Bash(git stash list)
Bash(git branch --show-current)
Bash(git branch --list:*)
Bash(git rev-parse:*)
Bash(git remote get-url:*)
Bash(git fetch:*)
Bash(git push:*)
Bash(gh auth status)
Bash(gh repo view:*)
Bash(gh pr create:*)
Bash(gh pr view:*)
Bash(gh pr list:*)
Bash(gh pr checks:*)
Bash(gh pr diff:*)
Bash(gh run list:*)
Bash(gh run view:*)
Bash(gh run watch:*)
Bash(gh issue view:*)
Bash(gh issue list:*)
Bash(ls:*)
Bash(grep:*)
Bash(cat:*)
Bash(head:*)
Bash(tail:*)
Bash(wc:*)
Bash(pnpm install)
Bash(pnpm install --frozen-lockfile)
Bash(pnpm verify:*)
Bash(pnpm build:*)
Bash(pnpm test)
Bash(pnpm test:hooks)
Bash(pnpm test:sync)
Bash(pnpm test:docs)
Bash(pnpm test:gates)
Bash(pnpm typecheck:*)
Bash(pnpm lint)
Bash(pnpm lint:fix)
Bash(pnpm lint:secrets)
Bash(pnpm boundaries)
Bash(pnpm docs:gen)
Bash(pnpm docs:check)
Bash(pnpm docs:portability)
Bash(pnpm docs:list)
Bash(pnpm docs:list:*)
Bash(pnpm docs:internal:build)
Bash(pnpm docs:public:build)
Bash(pnpm sync:template:*)
Bash(pnpm exec changelogen)
WebFetch(domain:github.com)
WebFetch(domain:raw.githubusercontent.com)

Similar rigs

copied ✓