dev-bootstrap-application-script
This skill should be used when asked to create a dev.sh (or similar) bash script that launches an application's full stack in tmux.
Skill by tzeusy-org
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/tzeusy-org-dev-bootstrap-application-script
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/dev-bootstrap-application-script
What's inside
- Skill name
dev-bootstrap-application-script- Description
- This skill should be used when asked to create a dev.sh (or similar) bash script that launches an application's full stack in tmux. It guides research of the project's services, generates an idempotent tmux bootstrap script with named windows, pane-ID-based splits, health checks, env loading, and sanitized per-run stdout/stderr logs.
- License
- MIT
- Metadata
- owner: tze · status: active · last_reviewed: 2026-06-12
- Instructions
- 359 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Instructions call the network
Files (8)
- SKILL.md
- dev.multi-window.sh.template · assets/
- dev.sh.template · assets/
- dev.three-window.sh.template · assets/
- evals.json · evals/
- trigger-queries.json · evals/
- patterns.md · references/
- validate_dev_bootstrap.py · scripts/
SKILL.md (first lines)
# Dev Bootstrap Application Script
## Overview
Generate an idempotent bash script that launches every service in a project's full stack inside named tmux window(s), with up to 4 panes per window. The script handles session detection, window teardown/recreation, dependency ordering, health checks, per-run log capture, and optional reverse-proxy path-prefix bootstrapping (for tailscale serve, cloudflared, etc.).
A ready-made template is bundled at `assets/dev.sh.template`.
## When to Use
- A user asks to "write a dev script", "bootstrap the app in tmux", or "create a dev.sh"
- A user wants to launch multiple services (API, frontend, workers, databases) in one command
- A user has an existing dev script and wants it rewritten following best practices
## Workflow
### Phase 1 — Research the Project
Before writing any code, discover what services the project needs. Read the following files (when present) to build a service inventory:
| File | What to look for |
|---|---|
| `docker-compose.yml` / `compose.yaml` | Infrastructure services (postgres, redis, rabbitmq, etc.) |
| `package.json` | `scripts.dev`, `scripts.start`, framework (Next.js, Vite, Remix, etc.) |
| `Makefile` / `Justfile` | Existing `dev` / `run` / `serve` targets |
| `Procfile` / `Procfile.dev` | Named processes and their commands |
| `pyproject.toml` / `Pipfile` | Python entry points, uvicorn/gunicorn commands |
| `Cargo.toml` / `go.mod` | Build-and-run patterns |
| `.env` / `.env.example` | Environment variables needed at boot |
| `turbo.json` / `pnpm-workspace.yaml` | Monorepo workspace structure |
| `README.md` | "Getting Started" / "Development" sections |
| Frontend router / API client files | Whether routes and API calls are base-path aware |
| Vite/Next/webpack dev config | Base path and dev proxy rewrite behavior |
Produce a **service inventory** — an ordered list of:
```
1. Service name — command — working directory — depends on (if any)
```
Example:
```
1. postgres — docker compose up -d postgres — . — (none)
2. redis — docker compose up -d redis — . — (none)
3. api — uv run uvicorn app:main — . — postgres, redis
4. frontend — npm run dev — ./frontend — api
```
### Phase 2 — Design the Layout
#### Pane Limit
Maximum **4 panes per tmux window**. Beyond 4, panes become unreadably small.
#### Window Count Decision
| Services | Windows | Rationale |
|---|---|---|
| 1-4 | 1 window | Everything fits |
| 5-8 | 2 windows | Group by concern (infra vs app, backend vs frontend) |
| 9+ | 3 windows | Rare — consider if some services should stay in docker |
#### Layout Selection
Pick the tmux preset layout that best matches the pane count:
| Panes | Recommended layout | Visual |
|---|---|---|
| 2 | `even-horizontal` | `[A \| B]` |
| 2 | `even-vertical` | `[A / B]` (stacked) |
| 3 | `main-vertical` | `[A \| B/C]` (main left, two right) |
| 3 | `main-horizontal` | `[A / B\|C]` (main top, two bottom) |
| 4 | `tiled` | `[A\|B / C\|D]` (2x2 grid) |
#### Grouping Heuristic
When splitting across multiple windows, group by concern:
- **Window 1 ("infra")**: databases, caches, message brokers, docker services
- **Window 2 ("app")**: API server, background workers, task queues
- **Window 3 ("frontend")**: dev server, storybook, docs site
### Phase 3 — Write the Script
Start from `assets/dev.sh.template` and fill in the placeholders. Follow these mandatory patterns:
#### Script Structure
```
1. Shebang + header comment with layout diagram
2. set -euo pipefail
3. Parse script args (for optional checks like --skip-tailscale-check)
4. PROJECT_DIR and WINDOW constants
5. Optional Layer 0 preflight (tailscale/dependencies/etc.)
6. tmux prerequisite check
7. Session detection (inside tmux vs new session)
8. Kill existing window (idempotency)
9. Create window + split panes (capture pane IDs)
10. Small post-split delay before send-keys
11. Initialize logs directory (timestamped run dir + latest symlink)
12. Register pane log piping before launching commands
13. Load environment variables
14. Layer 1 launch services (send-keys to each pane)
15. Layer 2 readiness gates (health endpoints/ports)
16. Print operator URLs (local + remote when available)
17. Apply layout + set focus
18. Attach if started detached
```
#### Mandatory Rules
- **Pane IDs, never indices.** Always capture pane IDs with `-P -F '#{pane_id}'` and reference them by variable. Never use `tmux select-pane -t 0`.
- **Idempotent.** `tmux kill-window -t "${SESSION}:${WINDOW}" 2>/dev/null || true` before recreating.
- **Session-aware.** Detect `$TMUX` to decide whether to create a session or reuse the current one.
- **Header comment.** Every script must start with an ASCII layout diagram showing what runs where.
- **Per-run logs + latest link.** Create logs under `logs/YYYYmmdd_HHMMSS/` and refresh `logs/latest -> logs/<run_id>`.
- **Pipe with `-o`.** Use `tmux pipe-pane -o` so re-runs do not stack duplicate pipe commands.
- **Layered startup.** Prefer explicit layers (preflight -> launch -> readiness).From tzeusy-org/ai-bootstrap, MIT.
More from tzeusy-org/ai-bootstrap
- 0.499score
doc-coauthoring
tzeusy-org
Guide users through a structured workflow for co-authoring documentation.
SkillBFreshness: BClaude Code +9 - 0.450score
brand-guidelines
tzeusy-org
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel.
SkillCFreshness: CClaude Code +9 - 0.450score
canvas-design
tzeusy-org
Create beautiful visual art in .png and .pdf documents using design philosophy.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jul 19, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/tzeusy-org/ai-bootstrap
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from tzeusy-org
- 0.499score
doc-coauthoring
tzeusy-org
Guide users through a structured workflow for co-authoring documentation.
SkillBFreshness: BClaude Code +9 - 0.450score
brand-guidelines
tzeusy-org
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel.
SkillCFreshness: CClaude Code +9 - 0.450score
canvas-design
tzeusy-org
Create beautiful visual art in .png and .pdf documents using design philosophy.
SkillCFreshness: CClaude Code +9
Cite this page
dev-bootstrap-application-script skill. Agent Mart. https://agentmart.dev/skills/tzeusy-org-dev-bootstrap-application-script (last updated 2026-10-24)