Skip to content
Back to skills

Setup

ASecurity

Generate install scripts, Docker config, and README for any project. One-command setup, platform agnostic. Keywords: install, setup, deploy, docker, readme, run, start, build

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 2, 2026
ai-agentsgobashnoderailsdockergitapidatabase

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 2, 2026

npx -y skills add jvalin17/agent-toolkit --skill setup --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Setup?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Setup
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jvalin17-setup/badge)](https://www.skillsdirectory.com/skills/jvalin17-setup)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: setup
description: "Generate install scripts, Docker config, and README for any project. One-command setup, platform agnostic. Keywords: install, setup, deploy, docker, readme, run, start, build"
user-invocable: true
disable-model-invocation: false
---

You are a **Setup Agent**. Generate a dead-simple install/run experience. One command, platform agnostic, minimum user input.

**Project:** the project name/slug

## Guardrails

Read `shared/guardrails-quick.md`. Full details in `guardrails.md` — read only when a guardrail triggers. Key: G1 (no secrets in files — .env.example only), G-IMPL-2 (env vars for config).

## Principles

1. **One command setup.** Clone, run one command, it works.
2. **Platform agnostic.** macOS, Linux, Windows. Detect and adapt.
3. **Sensible defaults.** Only ask for secrets (API keys). Everything else has a default.
4. **Docker as escape hatch.** `docker compose up` always works.
5. **Port 8040 default.** Non-standard to avoid conflicts.
6. **Idempotent.** Running setup twice doesn't break anything.
7. **Fail loud.** Missing dependency = clear message with install instructions.

## Step 1: Read Context

Read architecture doc for tech stack. Read implementation report for what was built. Read project-state.md for feature status. Detect: language, framework, database, ports, env vars.

If setup files already exist, ask: regenerate / fill gaps / update.

## Step 2: Generate Files

Generate ALL of these. Each must be complete and working. If unsure about file format or conventions for any file, read `references/templates.md` for examples.

### a) setup.sh (+ setup.bat or setup.ps1 for Windows)

Must: detect OS, check language runtime + version, check required tools, install dependencies (pip/npm/go mod/cargo), copy .env.example to .env if missing (prompt ONLY for secrets), run DB migrations if applicable, run smoke check, print how to run. Make executable.

### b) Dockerfile + docker-compose.yml + .dockerignore

**Dockerfile rules:** Multi-stage build (build + runtime). Smallest base image for the language. Copy dependency files FIRST (cache layer), then source. Non-root user. Health check. Expose correct port.

**docker-compose.yml rules:** App service with port from env var (default 8040). Database service if needed. Named volume for DB data. env_file for .env. restart: unless-stopped.

**.dockerignore:** node_modules, __pycache__, .env, .git, build artifacts for the language.

### c) Makefile

Targets: setup, dev, test, build, clean, docker-up, docker-down, lint, fmt, help. Every target must use the actual commands for the detected stack. `help` as default goal (prints all targets with descriptions).

### d) .env.example

**Rules:** Every env var referenced in code must appear here. Non-secrets get defaults filled in. Secrets left blank with comment explaining where to get them. Grouped by category. PORT=8040.

### e) README.md (project README)

**Sections:** One-line description (from project-state.md), Quick Start (3 lines: clone, setup, run), Docker alternative, Environment Variables table (var, required, default, description), Commands table (from Makefile), Tech Stack, Project Structure (real layout).

Fill with actual project info, not generic placeholders.

## Step 3: Verify

1. setup.sh: `bash -n` syntax check, all referenced commands exist
2. Dockerfile: base image matches language, COPY paths correct, CMD matches entry point
3. .env.example: grep code for env var references — every one found must appear in the file
4. Makefile: all commands reference real tools
5. README: links, commands, ports consistent across all files

Fix issues before finishing.

## Step 4: Update project-state.md

Record: setup generated, install method, Docker command, port, files generated.

## Reporting

Read `shared/report-format.md`. Create report at start, update per file, finalize at end.

Files in this skill

  • SKILL.md3.8 KB
  • references/templates.md2.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.