Add --install-skill for agent skills and Cursor rules (#4) #48
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| # Run on every push and PR. The README badge resolves against this exact file | |
| # name (.github/workflows/ci.yml), so do not rename it. | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| test: | |
| name: test (node ${{ matrix.node-version }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: [18, 20, 22] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Setup Node ${{ matrix.node-version }} | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| # Deterministic install from the lockfile (ts-morph is the only dep). | |
| - name: Install dependencies | |
| run: npm ci | |
| # Black-box suite — drives the real CLI as a subprocess against temp repos. | |
| - name: Run tests | |
| run: node --test test/*.test.mjs | |
| # Smoke: the binary builds + prints a hub map against agentmap's own repo. | |
| - name: Smoke (--hubs on self) | |
| run: node agentmap.mjs --hubs | |
| # Audit for high-severity vulnerabilities in the dependency tree. | |
| - name: Audit dependencies | |
| run: npm audit --audit-level=high | |
| # Validate the published file set without actually packing. | |
| - name: Validate pack manifest | |
| run: npm pack --dry-run | |
| codeql: | |
| name: CodeQL analysis | |
| runs-on: ubuntu-latest | |
| permissions: | |
| security-events: write | |
| actions: read | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Initialize CodeQL | |
| uses: github/codeql-action/init@v3 | |
| with: | |
| languages: javascript-typescript | |
| - name: Perform CodeQL analysis | |
| uses: github/codeql-action/analyze@v3 | |
| secret-scan: | |
| name: Secret scan (Gitleaks) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - name: Run Gitleaks | |
| uses: gitleaks/gitleaks-action@v2 |