Get Started in Minutes

Quick Start Tutorials

Step-by-step guides for the most common @waiyat/devops workflows. Pick a tutorial and follow along.

Run Your First Preflight Check

30 seconds
Open in docs

Scan your repository for CI/CD readiness, security gaps, and configuration issues.

Steps

  1. 1Open your terminal in any repository.
  2. 2Run: <code>npx @waiyat/devops@latest check</code>
  3. 3Review the 0-100 health score across 6 categories.
  4. 4Run: <code>npx @waiyat/devops@latest fix</code> to auto-heal safe issues.

Expected Output

Terminal
๐Ÿ” Running DevOps Pre-Flight Diagnostics...

โœ… Package manifest detected
โœ… Git version control initialized
โœ… Package Manager: pnpm
โœ… TypeScript configured
โœ… Dockerfile present

HEALTH SCORE: 74/100 [NEEDS ATTENTION]

Recommended: Run 'npx @waiyat/devops@latest fix'

Scaffold CI/CD in One Command

1 minute
Open in docs

Generate a production-ready GitHub Actions workflow for your project stack.

Steps

  1. 1Detect your stack: <code>npx @waiyat/devops@latest check</code>
  2. 2Scaffold workflow: <code>npx @waiyat/devops@latest init --template nextjs</code>
  3. 3Preview before writing: add <code>--dry-run</code> flag
  4. 4Commit the generated <code>.github/workflows/ci.yml</code>

Expected Output

Terminal
๐Ÿš€ @waiyat/devops CLI - Centralized DevOps & CI/CD Automation Engine

โš™๏ธ  Detecting project environment...
   โœ” Framework: Next.js (App Router)
   โœ” Package Manager: pnpm
   โœ” Node.js Target: v22

๐Ÿ“ Generating .github/workflows/ci.yml using template 'nextjs'...
   โœ” Injected uses: Waiyat/devops/.github/workflows/reusable-ci.yml@main

โœจ Successfully created .github/workflows/ci.yml

Audit & Harden Your Dockerfile

45 seconds
Open in docs

Check Dockerfiles for non-root users, multi-stage builds, and security best practices.

Steps

  1. 1Run: <code>npx @waiyat/devops@latest docker check</code>
  2. 2Review findings: non-root USER, missing healthcheck, etc.
  3. 3Fix: <code>npx @waiyat/devops@latest fix --issue docker</code>
  4. 4Or scaffold a hardened Dockerfile: <code>npx @waiyat/devops@latest docker init</code>

Expected Output

Terminal
๐Ÿณ Auditing Dockerfile...

โœ— Container Least Privilege: Runs as root
โœ— Multi-stage Build: Single stage detected
โœ— Healthcheck: Missing HEALTHCHECK instruction
โœ— .dockerignore: File not present

Run 'npx @waiyat/devops@latest fix --issue docker' to auto-heal

Generate CycloneDX SBOM

30 seconds
Open in docs

Create a software bill of materials for supply chain transparency and compliance.

Steps

  1. 1Run: <code>npx @waiyat/devops@latest sbom --json</code>
  2. 2Review the JSON output with package names, versions, and purls.
  3. 3Save to file: <code>npx @waiyat/devops@latest sbom --json > sbom.json</code>
  4. 4Attach sbom.json to your CI artifacts or release.

Expected Output

Terminal
{
  "bomFormat": "CycloneDX",
  "specVersion": "1.5",
  "components": [
    { "name": "react", "version": "18.2.0", "purl": "pkg:npm/react@18.2.0" },
    { "name": "next", "version": "14.2.0", "purl": "pkg:npm/next@14.2.0" }
  ]
}

Run DevSecOps Security Audit

1 minute
Open in docs

Scan for secrets, vulnerabilities, and policy compliance issues.

Steps

  1. 1Run: <code>npx @waiyat/devops@latest security</code>
  2. 2Check for leaked secrets: <code>npx @waiyat/devops@latest secrets</code>
  3. 3Audit dependencies: <code>npx @waiyat/devops@latest audit</code>
  4. 4Review policy: <code>npx @waiyat/devops@latest policy</code>

Expected Output

Terminal
๐Ÿ”’ DevSecOps Security Audit

[SECRETS] No high-entropy secrets detected
[VULNERABILITIES] 2 moderate, 0 critical
[POLICY] Branch protection: Enabled
[POLICY] License compliance: MIT (approved)

Repository is security-compliant.
Common Patterns

Copy-Paste Recipes

CI Pipeline with Security

yaml
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  ci:
    uses: Waiyat/devops/.github/workflows/reusable-ci.yml@main
    with:
      node-version: '22'
      package-manager: 'pnpm'

  security:
    needs: ci
    uses: Waiyat/devops/.github/workflows/reusable-security.yml@main

Docker CD Pipeline

yaml
name: Container CD

on:
  push:
    tags: ['v*.*.*']

jobs:
  docker:
    uses: Waiyat/devops/.github/workflows/reusable-cd-docker.yml@main
    with:
      image-name: 'ghcr.io/org/app'
      platforms: 'linux/amd64,linux/arm64'

Preflight in PR

yaml
name: PR Checks

on: pull_request

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npx @waiyat/devops@latest check --pr
      - run: npx @waiyat/devops@latest fix --dry-run

SBOM in Release

yaml
name: Release

on:
  push:
    tags: ['v*.*.*']

jobs:
  sbom:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npx @waiyat/devops@latest sbom --json > sbom.json
      - uses: actions/upload-artifact@v4
        with:
          name: sbom
          path: sbom.json