# .github/workflows/checks.yml
name: Status Checks

on:
  pull_request:
    branches: [ main, master ]
  pull_request_target:
    branches: [ main, master ]
  push:
    branches: [ main, master ]

jobs:
  lint:
    name: ESLint & Prettier
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: 'npm'
      - name: Install dependencies
        run: npm ci
      - name: Run ESLint with Prettier
        run: npm run lint

  package:
    name: Package Check
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: 'npm'
      - name: Install dependencies
        run: npm ci
      - name: Verify CLI execution
        run: |
          npm link
          devcli --version

  install:
    name: Installation Check
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: 'npm'
      - name: Test package installation
        run: |
          npm pack
          PACKAGE_FILE=$(ls mern-project-cli-*.tgz)
          npm install -g ./$PACKAGE_FILE
