---
name: Auto Setup
slug: auto-setup
category: Quality
description: Auto Setup detects the project type and configures quality gates, hooks, and settings for a new codebase. Use it when onboarding a new project or setting up CI integration.
github: "https://github.com/rohitg00/pro-workflow/tree/main/skills/auto-setup"
language: JavaScript
stars: 2775
forks: 270
install: "npx degit https://github.com/rohitg00/pro-workflow/tree/main/skills/auto-setup ~/.claude/skills/auto-setup"
installs_to: ~/.claude/skills/auto-setup
source_path: skills/auto-setup/SKILL.md
collection_size: 25
category_size: 1354
collection_url: "https://dirskills.com/collections/rohitg00/pro-workflow"
added: 2026-08-17T07:10:27.604Z
last_synced: 2026-08-17T07:10:27.604Z
canonical_url: "https://dirskills.com/skills/auto-setup"
---

# Auto Setup

Auto Setup detects the project type and configures quality gates, hooks, and settings for a new codebase. Use it when onboarding a new project or setting up CI integration.

**Install:**

```bash
npx degit https://github.com/rohitg00/pro-workflow/tree/main/skills/auto-setup ~/.claude/skills/auto-setup
```

## README

# Auto Setup

Detect project type and configure pro-workflow quality gates automatically.

## Trigger

Use when:
- Starting work on a new project
- Onboarding to an unfamiliar codebase
- Setting up CI integration

## Detection

### Step 1: Identify Project Type

```bash
ls package.json pyproject.toml Cargo.toml go.mod Gemfile pom.xml build.gradle 2>/dev/null
```

### Step 2: Configure Quality Gates

**Node.js/TypeScript:**
```json
{
  "lint": "npm run lint",
  "typecheck": "npx tsc --noEmit",
  "test": "npm test -- --changed --passWithNoTests",
  "format": "npx prettier --check ."
}
```

**Python:**
```json
{
  "lint": "ruff check .",
  "typecheck": "mypy .",
  "test": "pytest --tb=short -q",
  "format": "ruff format --check ."
}
```

**Rust:**
```json
{
  "lint": "cargo clippy -- -D warnings",
  "typecheck": "cargo check",
  "test": "cargo test --quiet",
  "format": "cargo fmt --check"
}
```

**Go:**
```json
{
  "lint": "golangci-lint run",
  "typecheck": "go vet ./...",
  "test": "go test ./... -count=1",
  "format": "gofmt -l ."
}
```

### Step 3: Verify Tools Are Installed

Run each command with `--version` or `--help` to confirm availability. Report missing tools.

### Step 4: Create Configuration

Generate a `.claude/settings.json` with:
- Quality gate commands for the detected project type
- Suggested permission rules (user reviews and approves)
- Hook configuration for the project

## Output

```text
AUTO SETUP
  Project type: [Node.js/Python/Rust/Go/Mixed]
  Package manager: [npm/pnpm/yarn/pip/cargo]

  Quality gates configured:
    lint:      [command] ✓
    typecheck: [command] ✓
    test:      [command] ✓
    format:    [command] ✓

  Missing tools:
    - [tool] — install with: [command]

  Settings written to: .claude/settings.json
```

## Rules

- Never overwrite existing settings without asking
- Detect, don't assume — check for tool presence
- Support monorepos (check for workspaces config)
- Report missing tools with install commands
