agentsclimarketplace

Tilt setup

Skill joaquimscosta/arkhe-claude-plugins/plugins/devtools/skills/tilt-setup

Install Tilt and scaffold or audit Tiltfile + tilt/ configurations with ecosystem-aware templates. Auto-detects Java/Gradle (Spring Boot), Next.js, Python/uv, and external infrastructure; recommends single-file or modular tilt/*.star + service-config.yaml + environments.yaml patterns based on project complexity. Bakes in production-context safety guards, PVC persistence toggles, JDWP debug ports, and optional Prometheus/Grafana/Traefik scaffolds. Use when user runs /devtools:tilt-setup, mentions "tilt setup", "setup tilt", "scaffold tiltfile", "audit tiltfile", "tilt configure", "tilt project setup", "Tiltfile", "local kubernetes dev", or "kubernetes development environment".From its SKILL.md

Install
npx -y skills add joaquimscosta/arkhe-claude-plugins --skill tilt-setup

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 21 stars21 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 5 commands, including `python3 ${CLAUDE_SKILL_DIR}/scripts/detect_tilt.py <project-root>` and 4 more.

SKILL.md

6.7 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

Tilt Setup

Install Tilt and scaffold or audit Tiltfile + tilt/ configurations for local Kubernetes development with ecosystem-aware templates.

Pre-flight

Run the detection script to understand current state:

python3 ${CLAUDE_SKILL_DIR}/scripts/detect_tilt.py <project-root>

The detector reports: tilt/kubectl binaries, current kubectl context (with production-pattern matching), existing Tiltfile and tilt/ modular layout (also recognizes legacy .tilt/), .tiltignore, tilt_config.json, ecosystems detected (Java/Gradle, Next.js, Python, infra), local cluster tools available, and audit violations (TILT001–TILT025) when a Tiltfile exists.

Decision Flow

Run detector
    |
    ├── tilt_binary.installed = false → Install Tilt first
    |
    ├── kubectl_context.is_production_pattern = true → STOP and warn user
    |
    ├── tiltfile.exists = true → Phase 1: Audit
    |
    └── tiltfile.exists = false → Phase 2: Scaffold

Phase 1: Audit (Existing Tiltfile)

  1. Summarize findings — show a status table:

    ComponentStatusDetail
    tilt binaryinstalled/missingversion, path
    kubectl contextsafe/productioncurrent context, classification
    Tiltfilefound/not foundpath, line count
    Modular layoutyes/notilt/ files (config.star, services.star, *.yaml)
    EcosystemsN detectedjava-gradle, nextjs, python, infra
    Service countN servicesk8s_resource calls
    Safety guardyes/noallow_k8s_contexts or manual guard
    .tiltignoreyes/nopath
  2. Present audit violations grouped by severity (ERROR > WARNING > INFO):

    • Show rule ID, message, fix hint
    • Rules cover: missing safety guard, deprecated restart_container, missing live_update, no watch_settings, no update_settings, missing resource_deps/labels/port_forwards, monolithic Tiltfile, etc.
  3. Use AskUserQuestion (multiSelect: true) — ask which violations to fix.

  4. Apply selected fixes — see WORKFLOW.md for per-rule fix strategies.

  5. Re-run detector to verify fixes were applied.

Phase 2: Scaffold (No Tiltfile)

  1. Install tilt if missing — show commands based on os field:

    • macOS: brew install tilt-dev/tap/tilt
    • Linux: curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh | bash
    • Verify: tilt version
  2. Verify kubectl context is safe — if kubectl_context.is_production_pattern is true, STOP and ask the user to switch contexts before proceeding.

  3. Review detected ecosystems — show what was found.

  4. Choose Tiltfile pattern — use AskUserQuestion:

    • Single-file (Tiltfile only) — recommended for 1–3 services, single ecosystem
    • Modular (Tiltfile + tilt/config.star + tilt/services.star + tilt/service-config.yaml + tilt/environments.yaml) — recommended for 4+ services, 2+ ecosystems, or 2+ environment presets
  5. Choose features — use AskUserQuestion (multiSelect: true):

    FeatureWhen to enable
    Manual context guardAlways (recommended over allow_k8s_contexts alone)
    PVC persistence toggleStateful services (postgres, kafka, opensearch)
    JDWP debug portsJava/Spring Boot services
    Monitoring stackPrometheus + Grafana via helm_resource
    Traefik gatewayMulti-service projects with HTTP routing
  6. Generate Tiltfile + supporting files — see WORKFLOW.md for templates.

    Always include in the root Tiltfile:

    • Manual validate_cluster_safety() guard at top (blocks arn:aws:eks:, gke_, prod, production, staging)
    • watch_settings(ignore=[...]) with build artifacts and dep dirs
    • update_settings(max_parallel_updates=2) for laptop-friendly CPU usage
    • .tiltignore next to Tiltfile
  7. Verify — run tilt alpha tiltfile-result to validate syntax, then re-run detector.

Key Rules

  • Never overwrite existing Tiltfile or tilt/ files without asking. Offer merge/replace/skip.
  • Detect first — skip steps already configured.
  • Use AskUserQuestion for every decision. Do not assume user preferences.
  • Always start with safety guard — refuse to scaffold without one. The cost of accidental prod deployment is too high.
  • Use ext://restart_process not restart_container() — the latter is deprecated.
  • Load extensions only from root Tiltfile — Starlark load() of ext:// from sub-files fails.
  • Externalize service definitions to YAML for modular layouts — read_yaml("tilt/service-config.yaml") keeps config team-editable.
  • PVC persistence pattern — create persistent PVCs via local("kubectl apply") outside Tilt's lifecycle so they survive tilt down.
  • Per-ecosystem live_update:
    • Spring Boot: custom_build + local_resource compile + sync of .class files
    • Next.js: local_resource with serve_cmd (preferred) OR container with WATCHPACK_POLLING=true
    • Python: docker_build + sync + uvicorn --reload (no restart_container needed)

Reference Material

The skill's reference base lives at docs/research/tilt-local-kubernetes-development-setup.md (in this repo). It contains the full Tilt API reference, ecosystem recipes, cluster comparison, audit rule definitions (TILT001–TILT025), and scaffold templates.

References

  • Workflow: See WORKFLOW.md for detailed per-step flows and templates
  • Examples: See EXAMPLES.md for example setup and audit sessions
  • Troubleshooting: See TROUBLESHOOTING.md for common issues
  • Detection Script: See scripts/detect_tilt.py for detection logic
  • Research base: docs/research/tilt-local-kubernetes-development-setup.md

What ships with it: 4 files

75.5 KB alongside SKILL.md, 1 of them executable

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.