Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+21 more

    Dev Setup Bootstrap: One-Command Setup and Devcontainers

    1

    Generates a re-runnable setup.sh, a Makefile or justfile, a devcontainer.json and a "could not decide" report from the lockfiles, version files and manifests your repository already has.

    $5

    Secure checkout via Stripe

    Money-back guarantee

    Converts to your local currency at checkout

    Security scanned
    Dev Setup Bootstrap: One-Command Setup and Devcontainers

    Dev Setup Bootstrap: One-Command Setup and Devcontainers

    Example session with this skill installed

    Make a setup script for this repo so a new hire can run one command.

    • Read your context and instructions
    • Compiled the dev setup bootstrap

    I ran the stack detector on the bundled demo repository (a Node.js project managed with pnpm, plus Python dependencies in requirements.txt) and generated the files from what it found.

    Stack detection

    stacktoolversionevidence
    nodepnpm20.11.1package.json, package.json "packageManager": pnpm@9.12.0, pnpm-lock.yaml, .nvmrc
    pythonpipnot pinnedrequirements.txt

    Other files: env_example, compose, pre_commit

    Could not decide

    • Python version is not pinned (no usable .python-version or .tool-versions entry)

    setup.sh

    #!/usr/bin/env bash
    
    # One-command project setup. Generated from the files in this repository; review before running.
    # Safe to run more than once. It does not install language runtimes itself: it tells you what is
    # missing. A package manager can still fetch one when the project asks for it; the report lists those cases.
    set -euo pipefail
    here="$(dirname "$0")" && [ -n "$here" ] && cd "$here" || exit 1
    
    missing=0
    need() { if ! command -v "$1" >/dev/null 2>&1; then echo "missing: $1 ($2)" >&2; missing=1; fi; }
    need node 'install Node.js 20.11.1 with your version manager (nvm, fnm, asdf or mise) or from nodejs.org'
    need pnpm 'install pnpm: corepack enable works on Node.js before 25, otherwise use your package manager'
    need python3 'install Python with your version manager (pyenv, asdf, mise or uv) or from python.org'
    if [ "$missing" -ne 0 ]; then echo "Install the tools above, then run this script again." >&2; exit 1; fi
    
    if [ "$(node -p 'process.versions.node.split(".")[0]')" != 20 ]; then echo "warning: this project expects Node 20" >&2; fi
    echo '==> node dependencies'
    pnpm install --frozen-lockfile
    echo '==> python dependencies'
    [ -d .venv ] || python3 -m venv .venv
    .venv/bin/python -m pip install -r requirements.txt
    if [ ! -e .env ] && [ ! -L .env ] && [ ! -L .env.example ]; then cp -- .env.example .env; echo 'created .env from .env.example: fill in the values'; fi
    if [ -e .git ] && command -v pre-commit >/dev/null 2>&1; then pre-commit install; else echo 'tip: run pre-commit install inside a git checkout to enable the hooks' >&2; fi
    
    echo 'Setup complete.'
    

    Makefile

    
    # Generated by dev-setup-bootstrap. Recipes are indented with a tab.
    .PHONY: setup test lint dev build
    
    setup:
    	bash setup.sh
    
    test:
    	pnpm test
    	.venv/bin/python -m pytest
    
    lint:
    	pnpm run lint
    
    dev:
    	pnpm run dev
    
    build:
    	pnpm run build
    

    .devcontainer/devcontainer.json

    {
      "name": "dev",
      "image": "mcr.microsoft.com/devcontainers/base:ubuntu24.04",
      "features": {
        "ghcr.io/devcontainers/features/node:2": {
          "version": "20.11.1"
        },
        "ghcr.io/devcontainers/features/python:1": {}
      },
      "postCreateCommand": "bash setup.sh"
    }
    

    Why each line is there

    pnpm because of pnpm-lock.yaml and the packageManager field (pnpm@9.12.0), installed with --frozen-lockfile.

    • Node.js 20.11.1 from .nvmrc, used both in the version check and in the devcontainer feature.

    Python is left unpinned: the repository has no .python-version or .tool-versions entry, so the report lists it under "Could not decide" instead of guessing.

    compose.yml was found, but services are not started by setup.sh; the report tells you to start them with your compose command.

    Want me to run the same on your repository? Existing files such as a Makefile are never overwritten; you get a merge proposal instead.

    package.json, package.json

    Connects securely to your tools. The creator never sees your data.

    About this skill

    Use when a new developer should get a project running with one command, or when setup lives in tribal knowledge. Two standard-library Python scripts read the file list and a fixed set of small manifests (never following symlinks or leaving the repository) and generate setup files from that evidence only: a setup.sh with set -euo pipefail that checks every tool first, installs dependencies held to your lockfile where there is one (npm ci, uv sync --locked, cargo fetch --locked and the like), never runs an installer, switches off the automatic runtime downloads of uv, Go, rustup and Pipenv, and reports a pnpm devEngines runtime (pnpm can still download that Node.js runtime during install); setup and test targets; a devcontainer built from the Ubuntu 24.04 base image plus official Dev Container Features with the versions your version files pin (ranges are reported, never guessed); and a report of what it could not decide, such as missing lockfiles or conflicting tools. Developed against 11 stack fixtures with stand-in tools: Node.js (npm, pnpm, Yarn Berry), Python (pip, Poetry, uv), Go, Ruby, PHP, Rust and Java with Maven. Do not use when you need to debug a broken environment, write a production Dockerfile or build a CI pipeline.

    Example prompts

    1. "Make a setup script for this repo so a new hire can run one command."
    2. "Write a devcontainer for this project with the Node and Python versions it already pins."
    3. "Add a Makefile with setup and test targets, but don't overwrite the one we have."

    Requires

    Python 3.8+ (standard library only) to run the scripts; bash for the generated setup.sh; git is optional (for git ls-files). On claude.ai the demo runs with code execution enabled; generating files for your own repository needs a local agent with file access.

    Compatibility

    Written for SKILL.md-compatible agents, for example Claude Code, Claude.ai skills, Codex CLI, Cursor or Gemini CLI. Each documents the SKILL.md format; not every agent was tested. The seller suggests Claude Sonnet 4.5 or later.

    Limits

    Reads only top-level manifests (no monorepo workspaces), does not start services or detect system packages, and its own commands do not install language runtimes. Where a package manager would fetch one, that is switched off, except pnpm: when package.json declares devEngines.runtime, pnpm install can download a Node.js runtime; this is reported, not stopped.

    Independence

    Not affiliated with or endorsed by Anthropic, OpenAI, Cursor, Google, Microsoft or any tool vendor named here. Node.js is a trademark of the OpenJS Foundation; other product names are used only to describe compatibility.

    Reads only top-level manifests (no monorepo workspaces), does not start services or detect system packages, and its own commands do not install language runtimes. Where a package manager would fetch one, that is switched off, except pnpm: when package.json declares devEngines.runtime, pnpm install can download a Node.js runtime; this is reported, not stopped.

    How to use

    1. 1

      Connect your agent to the Agensi MCP

      Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup

    2. 2

      Sign in to Agensi

      Your agent shows a sign-in link. Sign in and click Allow.

    3. 3

      Ask for what you need

      Your agent loads this skill and uses it on your task. It always asks before any payment.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill goes through the trust checks below.

    Security scanned

    Checked by our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    Money-back guarantee

    Doesn't do what its page promises? You get your money back.

    Trust & safety

    Security scan

    Security scan passed 9 days ago

    Requires

    Python 3.8+ (standard library only)
    bash (for the generated setup.sh)
    git (optional)
    Node.js
    Python

    Permissions

    Terminal / Shell
    Write Files
    Read Files
    Listed9 days ago

    What's inside

    Frequently Asked Questions

    No. Its own commands never install a language runtime; the generated setup.sh checks each tool and tells you what is missing. Automatic runtime downloads in uv, Go, rustup and Pipenv are switched off. The one exception is pnpm: when package.json declares devEngines.runtime, pnpm install can download a Node.js runtime, and the report says so.

    Not by default. If a file already exists at the same path, it shows a merge proposal instead of overwriting it.

    It was developed against 11 stack fixtures: Node.js (npm, pnpm, Yarn Berry), Python (pip, Poetry, uv), Go, Ruby, PHP, Rust and Java with Maven. It reads top-level manifests only, so monorepo workspaces are not covered.

    It does not guess. Unpinned versions, version ranges, missing lockfiles and conflicting tools are listed in a "could not decide" report so you can settle them yourself.

    No. A compose file is mentioned in the report, but setup.sh does not start services; you start them with your compose command.