~ / rigs / MassimilianoPili / claude-code-config

MassimilianoPili/claude-code-config

Claude Code configuration: hooks, skills, git-hooks, settings

↗ GitHub ★ 0 no license updated 4mo ago personal setup Claude Code
share on X
ARCHETYPE
Orchestrator
A bench of specialised subagents. The main agent mostly delegates.
CONTEXT TAX · EVERY TURN
~6.6k tokens
Heavy · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Pre-tool screening hook · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit MassimilianoPili/claude-code-config/agents ./rig-claude-code-config/agents
$ npx degit MassimilianoPili/claude-code-config/skills ./rig-claude-code-config/skills
$ npx degit MassimilianoPili/claude-code-config/hooks ./rig-claude-code-config/hooks

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 MassimilianoPili/claude-code-config/skills/activemq-artemis-jms .claude/skills/activemq-artemis-jms
$ npx degit MassimilianoPili/claude-code-config/skills/angular-component .claude/skills/angular-component
$ npx degit MassimilianoPili/claude-code-config/skills/angular-di .claude/skills/angular-di
$ npx degit MassimilianoPili/claude-code-config/skills/angular-directives .claude/skills/angular-directives
$ npx degit MassimilianoPili/claude-code-config/skills/angular-forms .claude/skills/angular-forms
$ npx degit MassimilianoPili/claude-code-config/skills/angular-http .claude/skills/angular-http
$ npx degit MassimilianoPili/claude-code-config/skills/angular-routing .claude/skills/angular-routing
$ npx degit MassimilianoPili/claude-code-config/skills/angular-signals .claude/skills/angular-signals
$ npx degit MassimilianoPili/claude-code-config/skills/angular-ssr .claude/skills/angular-ssr
$ npx degit MassimilianoPili/claude-code-config/skills/angular-testing .claude/skills/angular-testing
$ npx degit MassimilianoPili/claude-code-config/skills/angular-tooling .claude/skills/angular-tooling
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-auto-scaling .claude/skills/aws-cloudformation-auto-scaling
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-bedrock .claude/skills/aws-cloudformation-bedrock
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-cloudfront .claude/skills/aws-cloudformation-cloudfront
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-cloudwatch .claude/skills/aws-cloudformation-cloudwatch
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-dynamodb .claude/skills/aws-cloudformation-dynamodb
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-ec2 .claude/skills/aws-cloudformation-ec2
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-ecs .claude/skills/aws-cloudformation-ecs
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-elasticache .claude/skills/aws-cloudformation-elasticache
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-iam .claude/skills/aws-cloudformation-iam
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-lambda .claude/skills/aws-cloudformation-lambda
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-rds .claude/skills/aws-cloudformation-rds
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-s3 .claude/skills/aws-cloudformation-s3
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-security .claude/skills/aws-cloudformation-security
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-task-ecs-deploy-gh .claude/skills/aws-cloudformation-task-ecs-deploy-gh
$ npx degit MassimilianoPili/claude-code-config/skills/aws-cloudformation-vpc .claude/skills/aws-cloudformation-vpc
$ npx degit MassimilianoPili/claude-code-config/skills/aws-rds-spring-boot-integration .claude/skills/aws-rds-spring-boot-integration
$ npx degit MassimilianoPili/claude-code-config/skills/aws-sdk-java-v2-bedrock .claude/skills/aws-sdk-java-v2-bedrock
$ npx degit MassimilianoPili/claude-code-config/skills/aws-sdk-java-v2-core .claude/skills/aws-sdk-java-v2-core
$ npx degit MassimilianoPili/claude-code-config/skills/aws-sdk-java-v2-dynamodb .claude/skills/aws-sdk-java-v2-dynamodb
$ npx degit MassimilianoPili/claude-code-config/skills/aws-sdk-java-v2-kms .claude/skills/aws-sdk-java-v2-kms
$ npx degit MassimilianoPili/claude-code-config/skills/aws-sdk-java-v2-lambda .claude/skills/aws-sdk-java-v2-lambda
$ npx degit MassimilianoPili/claude-code-config/skills/aws-sdk-java-v2-messaging .claude/skills/aws-sdk-java-v2-messaging
$ npx degit MassimilianoPili/claude-code-config/skills/aws-sdk-java-v2-rds .claude/skills/aws-sdk-java-v2-rds
$ npx degit MassimilianoPili/claude-code-config/skills/aws-sdk-java-v2-s3 .claude/skills/aws-sdk-java-v2-s3
$ npx degit MassimilianoPili/claude-code-config/skills/aws-sdk-java-v2-secrets-manager .claude/skills/aws-sdk-java-v2-secrets-manager
$ npx degit MassimilianoPili/claude-code-config/skills/bash-scripting .claude/skills/bash-scripting
$ npx degit MassimilianoPili/claude-code-config/skills/chunking-strategy .claude/skills/chunking-strategy
$ npx degit MassimilianoPili/claude-code-config/skills/cloudflare-tunnel .claude/skills/cloudflare-tunnel
$ npx degit MassimilianoPili/claude-code-config/skills/compile-test-fix .claude/skills/compile-test-fix
$ curl -fsSL --create-dirs -o .claude/agents/academic-researcher.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/academic-researcher.md
$ curl -fsSL --create-dirs -o .claude/agents/spring-boot-migrator-dc-notes.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/spring-boot-migrator-dc-notes.md
$ curl -fsSL --create-dirs -o .claude/agents/spring-boot-migrator.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/spring-boot-migrator.md
$ curl -fsSL --create-dirs -o .claude/agents/blog-sources.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/templates/blog-sources.md
$ curl -fsSL --create-dirs -o .claude/agents/search-endpoints.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/templates/search-endpoints.md
$ curl -fsSL --create-dirs -o .claude/agents/source-routing.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/templates/source-routing.md
$ curl -fsSL --create-dirs -o .claude/agents/subagent-protocol.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/templates/subagent-protocol.md
$ curl -fsSL --create-dirs -o .claude/agents/template-a-survey.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/templates/template-a-survey.md
$ curl -fsSL --create-dirs -o .claude/agents/template-b-paper-analysis.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/templates/template-b-paper-analysis.md
$ curl -fsSL --create-dirs -o .claude/agents/template-c-open-problem.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/templates/template-c-open-problem.md
$ curl -fsSL --create-dirs -o .claude/agents/template-d-concept.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/templates/template-d-concept.md
$ curl -fsSL --create-dirs -o .claude/agents/template-e-causal-claim.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/templates/template-e-causal-claim.md
$ curl -fsSL --create-dirs -o .claude/agents/template-f-design-validation.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/templates/template-f-design-validation.md
$ curl -fsSL --create-dirs -o .claude/agents/academic-researcher.v1.md https://raw.githubusercontent.com/MassimilianoPili/claude-code-config/main/agents/versioned/academic-researcher.v1.md

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

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "/data/massimiliano/claude-code-config/hooks/block-dangerous-commands.sh"
          },
          {
            "type": "command",
            "command": "/data/massimiliano/claude-code-config/hooks/git-push-guard.sh"
          },
          {
            "type": "command",
            "command": "/data/massimiliano/claude-code-config/hooks/reversibility-guard.sh"
          }
        ]
      },
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "/data/massimiliano/claude-code-config/hooks/validate-research-report.sh"
          }
        ]
      }
    ]
  }
}

Skills (103)

activemq-artemis-jmsangular-componentangular-diangular-directivesangular-formsangular-httpangular-routingangular-signalsangular-ssrangular-testingangular-toolingaws-cloudformation-auto-scalingaws-cloudformation-bedrockaws-cloudformation-cloudfrontaws-cloudformation-cloudwatchaws-cloudformation-dynamodbaws-cloudformation-ec2aws-cloudformation-ecsaws-cloudformation-elasticacheaws-cloudformation-iamaws-cloudformation-lambdaaws-cloudformation-rdsaws-cloudformation-s3aws-cloudformation-securityaws-cloudformation-task-ecs-deploy-ghaws-cloudformation-vpcaws-rds-spring-boot-integrationaws-sdk-java-v2-bedrockaws-sdk-java-v2-coreaws-sdk-java-v2-dynamodbaws-sdk-java-v2-kmsaws-sdk-java-v2-lambdaaws-sdk-java-v2-messagingaws-sdk-java-v2-rdsaws-sdk-java-v2-s3aws-sdk-java-v2-secrets-managerbash-scriptingchunking-strategycloudflare-tunnelcompile-test-fixdocker-compose-patternsdss-frameworkgitea-actions-cigolang-patternskeycloak-oidckubernetes-openshift-patternslangchain4j-ai-services-patternslangchain4j-mcp-server-patternslangchain4j-rag-implementation-patternslangchain4j-spring-boot-integrationlangchain4j-testing-strategieslangchain4j-tool-function-calling-patternslangchain4j-vector-stores-configurationlibsql-sqlitemaven-build-patternsmongodb-patternsnestjsnginx-reverse-proxynodejs-backendoauth2-proxy-patternsportainer-managementpostgresql-patternsprompt-engineeringqdrant-vector-database-integrationrag-implementationreact-patternsredis-patternsrestic-backupshadcn-uispring-ai-mcp-server-patternsspring-boot-actuatorspring-boot-cachespring-boot-crud-patternsspring-boot-dependency-injectionspring-boot-event-driven-patternsspring-boot-openapi-documentationspring-boot-resilience4jspring-boot-rest-api-standardsspring-boot-saga-patternspring-boot-security-jwtspring-boot-test-patternsspring-data-jpaspring-data-neo4jsystemd-servicestailscale-networkingtailwind-css-patternstypescript-docsunit-test-application-eventsunit-test-bean-validationunit-test-boundary-conditionsunit-test-cachingunit-test-config-propertiesunit-test-controller-layerunit-test-exception-handlerunit-test-json-serializationunit-test-mapper-converterunit-test-parameterizedunit-test-scheduled-asyncunit-test-security-authorizationunit-test-service-layerunit-test-utility-methodsunit-test-wiremock-rest-apiwebsocket-patterns

Subagents (14)

academic-researcher—
spring-boot-migrator-dc-notes—
spring-boot-migratorSpecialized agent for upgrading Java projects from Spring Boot 2.x/Java 11 to Spring Boot 3.2.2/Java 17. Use proactively when asked to migrate, upgrade, or modernize Spring Boot projects. Handles java
blog-sources—
search-endpoints—
source-routing—
subagent-protocol—
template-a-survey—
template-b-paper-analysis—
template-c-open-problem—
template-d-concept—
template-e-causal-claim—
template-f-design-validation—
academic-researcher
model: claude-opus-4-6
>

Hooks (28)

eventmatcherruns
PreToolUseBash/data/massimiliano/claude-code-config/hooks/block-dangerous-commands.sh
PreToolUseBash/data/massimiliano/claude-code-config/hooks/git-push-guard.sh
PreToolUseBash/data/massimiliano/claude-code-config/hooks/reversibility-guard.sh
PreToolUseEdit|Write/data/massimiliano/claude-code-config/hooks/validate-research-report.sh
PostToolUseEdit|Write/data/massimiliano/claude-code-config/hooks/auto-shellcheck.sh
PostToolUseEdit|Write/data/massimiliano/claude-code-config/hooks/auto-gofmt.sh
PostToolUseEdit|Write/data/massimiliano/claude-code-config/hooks/complexity-gate.sh
PostToolUseEdit|Write/data/massimiliano/claude-code-config/hooks/behavior-verify.sh
PostToolUseBash/data/massimiliano/claude-code-config/hooks/failure-advisor.sh
PostToolUsemcp__simoge-mcp__.*/data/massimiliano/claude-code-config/hooks/tool-outcome-tracker.sh
PostToolUse.*/data/massimiliano/claude-code-config/hooks/context-drift-detector.sh
PostToolUse.*/data/massimiliano/claude-code-config/hooks/unified-audit-log.sh
PostToolUse.*/data/massimiliano/claude-code-config/hooks/phase-tracker.sh
PostToolUse.*/data/massimiliano/claude-code-config/hooks/context-pressure-estimator.sh
SessionStartstartup/data/massimiliano/claude-code-config/hooks/session-context-loader.sh
SessionStartstartup/data/massimiliano/claude-code-config/hooks/chat-tracker.sh startup
SessionStartstartup/data/massimiliano/claude-code-config/hooks/session-registry.sh startup
SessionStartresume/data/massimiliano/claude-code-config/hooks/chat-tracker.sh resume
SessionStartresume/data/massimiliano/claude-code-config/hooks/session-registry.sh resume
SessionStartresume/data/massimiliano/claude-code-config/hooks/compact-context-restorer.sh
PreCompact*/data/massimiliano/claude-code-config/hooks/compact-context-preserver.sh
ConfigChange*/data/massimiliano/claude-code-config/hooks/config-audit.sh
UserPromptSubmit*/data/massimiliano/claude-code-config/hooks/auto-memory-corrections.sh
Stop*/data/massimiliano/claude-code-config/hooks/stop-reminder.sh
Stop*/data/massimiliano/claude-code-config/hooks/readme-update-reminder.sh
Stop*/data/massimiliano/claude-code-config/hooks/session-registry.sh stop
Stop*/data/massimiliano/claude-code-config/hooks/session-events-writer.sh
Stop*/data/massimiliano/claude-code-config/hooks/chat-tracker.sh stop

Plugins (27)

commit-commands@claude-plugins-officialclaude-md-management@claude-plugins-officialfeature-dev@claude-plugins-officialhookify@claude-plugins-officialcode-review@claude-plugins-officialcode-simplifier@claude-plugins-officialpr-review-toolkit@claude-plugins-officialsecurity-guidance@claude-plugins-officialskill-creator@claude-plugins-officialplugin-dev@claude-plugins-officialclaude-code-setup@claude-plugins-officialplayground@claude-plugins-officialfrontend-design@claude-plugins-officialexplanatory-output-style@claude-plugins-officiallearning-output-style@claude-plugins-officialralph-loop@claude-plugins-officialgopls-lsp@claude-plugins-officialjdtls-lsp@claude-plugins-officialtypescript-lsp@claude-plugins-officialpyright-lsp@claude-plugins-officialclangd-lsp@claude-plugins-officialcsharp-lsp@claude-plugins-officialkotlin-lsp@claude-plugins-officiallua-lsp@claude-plugins-officialphp-lsp@claude-plugins-officialrust-analyzer-lsp@claude-plugins-officialswift-lsp@claude-plugins-official

Permissions

deny (0)
—
ask (0)
—
allow (120)
WebFetch(domain:github.com)
Bash(source:*)
Bash(./gradlew clean:*)
WebFetch(domain:javadoc.io)
mcp__simoge-mcp__Generale_SIMOGE
mcp__simoge-mcp__db_list_databases
mcp__simoge-mcp__db_tables
mcp__simoge-mcp__db_query
mcp__simoge-mcp__db_count
mcp__simoge-mcp__db_list_schemas
mcp__simoge-mcp__api_health
mcp__simoge-mcp__fs_list
Read(/~/.m2/repository/io/github/massimilianopili/**)
Bash(ls -lh /data/massimiliano/*.sh)
Bash(docker exec nginx curl -s http://server-api:8092/ui/)
Bash(docker exec nginx curl -s -o /dev/null -w "%{http_code}" http://server-api:8092/ui/)
Bash(curl -s -o /dev/null -w '%{http_code}' http://100.86.46.84/mq/)
Bash(curl -s -o /dev/null -w '%{http_code}' http://100.86.46.84/mongo/)
Bash(curl -s -o /dev/null -w '%{http_code}' http://100.86.46.84/libsql/)
Read(//etc/profile.d/**)
Bash(ls -d /data/massimiliano/agent-framework/execution-plane/workers/*/)
WebFetch(domain:repo1.maven.org)
Bash(grep -A2 'metadata:' /data/massimiliano/agent-framework/agents/manifests/*.agent.yml)
Bash(mvn --version)
Bash(docker exec pgadmin find / -path '*/pgadmin/authenticate*' -type f)
Bash(mvn install -f execution-plane/agent-compiler-maven-plugin/pom.xml -DskipTests -q)
Bash(find /data/massimiliano/Vari -maxdepth 2 -name "pom.xml" -exec grep -l "mcp-ocp-tools\\|mcp-docker-tools\\|mcp-devops-tools" {} ;)
Read(//data/massimiliano/Vari/**)
Bash(done)
Bash(docker exec postgres psql -U keycloak -d keycloak -c "SELECT name, value FROM realm_attribute WHERE realm_id = \(SELECT id FROM realm WHERE name = ''sol''\
Bash(docker exec postgres psql -U keycloak -d keycloak -c "SELECT * FROM realm WHERE name = ''sol'';")
Bash(docker exec postgres psql -U keycloak -d keycloak -c "SELECT name, value FROM realm_attribute WHERE realm_id = \(SELECT id FROM realm WHERE name = ''sol''\
Bash(docker ps --format '{{.Names}} {{.Status}}' --filter name=nginx)
Bash(jar tf ~/.m2/repository/org/springframework/ai/spring-ai-model/*/spring-ai-model-*.jar)
Bash(ls -la /data/massimiliano/*.sh)
Bash(ls -lSh /data/massimiliano/claude-shared/plans/*.md)
Bash(ls -ltr *.jsonl)
Read(//data/massimiliano/**)
Bash(ls -lhS ~/.claude/plans/*.md)
Bash(ls -lhS /data/massimiliano/claude-shared/plans/*.md)
Bash(docker exec gitea zstd -d -c /data/gitea/actions_log/maven-libs/mcp-ocp-tools/03/3.log.zst)
Bash(for REPO in spring-ai-reactive-tools mcp-sql-tools mcp-filesystem-tools mcp-mongo-tools)
Bash(do echo -n "$REPO: ")
Bash(gh api repos/MassimilianoPili/$REPO/actions/workflows --jq '.workflows[].name')
Bash(find mcp-* -name "pom.xml" -exec grep -l "artifactId" {} ;)
Bash(ls -lh /data/massimiliano/Vari/mcp-*/)
Bash(ls -1 /data/massimiliano/Vari/mcp-azure-tools/mcp-azure-*/pom.xml)
Bash(xargs -I {} bash -c 'echo ""=== {} ==="" && head -15 {}')
Read(//data/massimiliano/Vari/mcp-azure-tools/**)
Bash(ls -d /data/massimiliano/Vari/mcp-*-tools)
Bash(ls -d /data/massimiliano/Vari/*/)
Bash(fi)
Bash(find /data/massimiliano/agent-framework -type f -name "*.java" -exec grep -l "MessageDigest\\|DigestUtils\\|Hashing\\|Hash256\\|sha" {} ;)
Bash(docker compose up -d --build)
Bash(docker ps --format "table {{.Names}}\\t{{.Status}}\\t{{.Ports}}")
Bash(curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:8888/api/health -H 'Host: sol.massimilianopili.com')
Bash(curl -s http://127.0.0.1/api/health)
Bash(curl -s -o /dev/null -w 'HTTP %{http_code}' http://127.0.0.1:7682/)
Bash(docker ps --filter name=nginx --format '{{.Status}}')
Bash(systemctl --user is-active ttyd dashboard-api)

Similar rigs

copied ✓