---
name: superset-sh/setup
source: https://app.decimal.ai/s/superset-sh-setup@1/SKILL.md
source_sha256: b14c0a602555
---

# Superset Project Setup

Goal: every new workspace (isolated git worktree) for this repo comes up ready — dependencies installed, env present, services reachable — without manual steps.

## 1. Inspect the repo

Work out what a fresh worktree needs, and ask about anything ambiguous:

- Package manager and install command (lockfiles decide: bun/pnpm/yarn/npm, cargo, uv, ...)
- Env files: `.env` is usually gitignored, so new worktrees need it copied from the main checkout or generated from `.env.example`
- Services (docker-compose, databases) and dev command + ports
- Monorepo layout (does setup need a `cwd`?)

## 2. Author `.superset/config.json`

This file is what wires lifecycle scripts in — a bare `setup.sh` without `config.json` is NOT picked up. Schema:

```json
{
  "setup": ["./.superset/setup.sh"],
  "teardown": ["./.superset/teardown.sh"],
  "run": ["bun dev"],
  "cwd": "optional/subdir"
}
```

Each key is an array of shell commands run inside the worktree on workspace create / delete / run. Guidelines:

- Setup must be idempotent and fast (aim for under a minute; slow steps make every workspace creation painful)
- Copy secrets/env from the main checkout at setup time — never commit them
- `.superset/config.local.json` (gitignored) lets an individual user extend scripts with `before`/`after` arrays without touching the shared config

Show the user the proposed files and get explicit approval before writing.

## 3. Verify for real

Create a throwaway workspace with `superset workspaces create --project <id> --name "setup-test"` and watch the "Workspace Setup" terminal output. Fix and repeat until it completes cleanly, then delete the test workspace. Setup is not done until a real workspace boots green.