harunkurtdev/ros2-claude-code-template
No description.
ARCHETYPE
Fort Knox
Deny lists, pre-tool hooks, sandboxing. Nothing touches prod without a signature.
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
$ npx degit harunkurtdev/ros2-claude-code-template/.claude ./rig-ros2-claude-code-template # 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 harunkurtdev/ros2-claude-code-template/.claude/skills/behaviortree_node_creation .claude/skills/behaviortree_node_creation $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/extending_claude_config .claude/skills/extending_claude_config $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/gz-build .claude/skills/gz-build $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/gz-ecs-overview .claude/skills/gz-ecs-overview $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/gz-test .claude/skills/gz-test $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/nav2_behavior_tree .claude/skills/nav2_behavior_tree $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/nav2_controllers .claude/skills/nav2_controllers $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/nav2_core_interfaces .claude/skills/nav2_core_interfaces $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/nav2_costmap .claude/skills/nav2_costmap $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/nav2_localization .claude/skills/nav2_localization $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/nav2_planners .claude/skills/nav2_planners $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/nav2_servers .claude/skills/nav2_servers $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/new-component .claude/skills/new-component $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/new-system .claude/skills/new-system $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/new_nav2_plugin .claude/skills/new_nav2_plugin $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/new_ros2_package .claude/skills/new_ros2_package $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/new_ros2_workspace .claude/skills/new_ros2_workspace $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/ros2_bag .claude/skills/ros2_bag $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/ros2_control_hardware_interface .claude/skills/ros2_control_hardware_interface $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/ros2_controller_creation .claude/skills/ros2_controller_creation $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/ros2_diagnostics .claude/skills/ros2_diagnostics $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/ros2_launch_config .claude/skills/ros2_launch_config $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/ros2_lifecycle .claude/skills/ros2_lifecycle $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/ros2_messaging .claude/skills/ros2_messaging $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/ros2_node_creation .claude/skills/ros2_node_creation $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/ros2_service_action .claude/skills/ros2_service_action $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/ros2_testing .claude/skills/ros2_testing $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/ros2_transforms .claude/skills/ros2_transforms $ npx degit harunkurtdev/ros2-claude-code-template/.claude/skills/vda5050_integration .claude/skills/vda5050_integration
$ curl -fsSL --create-dirs -o .claude/agents/behaviortree-reviewer.md https://raw.githubusercontent.com/harunkurtdev/ros2-claude-code-template/master/.claude/agents/behaviortree-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/clean-arch-architect.md https://raw.githubusercontent.com/harunkurtdev/ros2-claude-code-template/master/.claude/agents/clean-arch-architect.md $ curl -fsSL --create-dirs -o .claude/agents/ecs-architect.md https://raw.githubusercontent.com/harunkurtdev/ros2-claude-code-template/master/.claude/agents/ecs-architect.md $ curl -fsSL --create-dirs -o .claude/agents/gz-style-reviewer.md https://raw.githubusercontent.com/harunkurtdev/ros2-claude-code-template/master/.claude/agents/gz-style-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/ros2-controllers-reviewer.md https://raw.githubusercontent.com/harunkurtdev/ros2-claude-code-template/master/.claude/agents/ros2-controllers-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/ros2-style-reviewer.md https://raw.githubusercontent.com/harunkurtdev/ros2-claude-code-template/master/.claude/agents/ros2-style-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/vda5050-reviewer.md https://raw.githubusercontent.com/harunkurtdev/ros2-claude-code-template/master/.claude/agents/vda5050-reviewer.md
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(sudo:*)",
"Bash(docker:*)",
"Bash(rm -rf /*)",
"Bash(git push --force:*)",
"Bash(git reset --hard:*)",
"Read(./.env)",
"Read(./.env.*)",
"Read(~/.ssh/**)"
],
"ask": [
"Bash(git push:*)",
"Bash(rm -rf build*)",
"Bash(rm -rf install*)",
"Bash(rm -rf log*)"
]
}
} Skills (29)
behaviortree_node_creationextending_claude_configgz-buildgz-ecs-overviewgz-testnav2_behavior_treenav2_controllersnav2_core_interfacesnav2_costmapnav2_localizationnav2_plannersnav2_serversnew-componentnew-systemnew_nav2_pluginnew_ros2_packagenew_ros2_workspaceROS2 Bag Utilityros2_control_hardware_interfaceros2_controller_creationROS2 DiagnosticsROS2 Launch & ConfigurationROS2 Lifecycle NodesROS2 Messaging PatternsROS2 Node CreationROS2 Service & ActionROS2 TestingROS2 Transforms (TF2)vda5050_integration
Subagents (7)
| behaviortree-reviewer model: sonnet | Use proactively before opening a PR that adds or changes BehaviorTree.CPP nodes or BehaviorTree.ROS2 wrappers (<redacted>, TreeExecutionServer). Reviews a diff against BT.CPP v4 conventions — node bas |
| clean-arch-architect model: sonnet | Use when a design decision touches Clean Architecture boundaries in a ROS 2 project — which layer a new behaviour belongs to, whether a port belongs in domain or application, whether a new node should |
| ecs-architect model: sonnet | Use when a design decision touches the gz-sim ECS — where new state should live, which system phase should write it, how to avoid coupling, whether to add a component vs. a member variable, whether a |
| gz-style-reviewer model: sonnet | Use proactively before opening any gz-sim PR. Reviews a diff against the project's C++17 style, ECS conventions, plugin registration patterns, CMake structure, test placement, Migration.md / Changelog |
| ros2-controllers-reviewer model: sonnet | Use proactively before opening a PR that adds or changes a ros2_control controller, broadcaster, or hardware component (incl. URDF <ros2_control> bringup). Reviews a diff against ros2_controllers / ro |
| ros2-style-reviewer model: sonnet | Use proactively before opening any ROS 2 / Nav 2 PR. Reviews a diff against this template's Clean Architecture, ROS 2 communication, lifecycle, testing, and Nav 2 plugin conventions. Returns a punch l |
| vda5050-reviewer model: sonnet | Use proactively before opening a PR that touches a VDA 5050 connector / fleet bridge. Reviews a diff against VDA 5050 v3.0.0 protocol compliance (topics, QoS, header rules, base/horizon, action state |
Slash commands (23)
/build/gz-build/gz-changelog/gz-lint/gz-new-component/gz-new-system/gz-test/lint/nav2/new-agent/new-bt-node/new-command/new-controller/new-hardware/new-launch/new-nav2-plugin/new-node/new-package/new-skill/new-vda5050-connector/new-workspace/ros2/test
Permissions
deny (8)
Bash(sudo:*)
Bash(docker:*)
Bash(rm -rf /*)
Bash(git push --force:*)
Bash(git reset --hard:*)
Read(./.env)
Read(./.env.*)
Read(~/.ssh/**)
ask (4)
Bash(git push:*)
Bash(rm -rf build*)
Bash(rm -rf install*)
Bash(rm -rf log*)
allow (61)
Bash(colcon build:*)
Bash(colcon test:*)
Bash(colcon test-result:*)
Bash(colcon list:*)
Bash(colcon graph:*)
Bash(ros2:*)
Bash(rosdep:*)
Bash(vcs:*)
Bash(rviz2:*)
Bash(rqt:*)
Bash(rqt_graph:*)
Bash(rqt_console:*)
Bash(rqt_plot:*)
Bash(rqt_tf_tree:*)
Bash(ament_uncrustify:*)
Bash(ament_cpplint:*)
Bash(ament_flake8:*)
Bash(ament_pep257:*)
Bash(ament_xmllint:*)
Bash(ament_copyright:*)
Bash(pre-commit run:*)
Bash(clang-format:*)
Bash(clang-tidy:*)
Bash(pytest:*)
Bash(python3:*)
Bash(python:*)
Bash(pip install:*)
Bash(python3 -m pip install:*)
Bash(cmake:*)
Bash(make:*)
Bash(ninja:*)
Bash(ctest:*)
Bash(bazel build:*)
Bash(bazel test:*)
Bash(bazel query:*)
Bash(gz sim:*)
Bash(gz topic:*)
Bash(gz model:*)
Bash(gz log:*)
Bash(gz service:*)
Bash(gz param:*)
Bash(cppcheck:*)
Bash(xvfb-run:*)
Bash(rg:*)
Bash(find:*)
Bash(grep:*)
Bash(tree:*)
Bash(wc:*)
Bash(file:*)
Bash(ls:*)
Bash(git status)
Bash(git diff:*)
Bash(git log:*)
Bash(git show:*)
Bash(git branch:*)
Bash(git add:*)
Bash(git commit:*)
WebFetch(domain:docs.ros.org)
WebFetch(domain:navigation.ros.org)
WebFetch(domain:design.ros2.org)
Similar rigs
mattbutlerengineering/mattbutlerengineering
Monorepo for mattbutlerengineering.com — design system, React apps, Fastify services, Pulumi IaC. Built largely by AI agents (Claude Code).
MCP Hoarder 62.3k tok ·
ruvnet/ruflo
🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native
Fort Knox 35.3k tok ·
Donchitos/Claude-Code-Game-Studios
Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.
Fort Knox 11.6k tok ·
FlorianBruniaux/claude-code-ultimate-guide
The most comprehensive Claude Code guide: agentic workflows, hooks, skills, MCP servers, quizzes, and production-ready templates. 430K+ lines.
Fort Knox 33.8k tok ·