Skip to content

docs: Add comprehensive project documentation #95

docs: Add comprehensive project documentation

docs: Add comprehensive project documentation #95

Workflow file for this run

name: codingbuddy-dev
on:
push:
branches-ignore:
- master
- stag-**
paths:
- 'mcp-server/**'
- '.ai-rules/**'
- '.antigravity/**'
- '.claude/**'
- '.codex/**'
- '.cursor/**'
- 'scripts/**'
- .github/workflows/dev.yml
permissions:
statuses: write
contents: read
jobs:
# ─────────────── Setup Job ───────────────
install-dependencies:
if: github.repository == 'JeremyDev87/codingbuddy'
runs-on: ubuntu-latest
defaults:
run:
working-directory: mcp-server
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Restore dependencies from cache
id: cache
uses: actions/cache@v5
with:
path: ./mcp-server/node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles(format('{0}{1}', github.workspace, '/mcp-server/yarn.lock')) }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: yarn install --immutable
# ─────────────── CI Jobs (parallel) ───────────────
lint-check:
needs: install-dependencies
runs-on: ubuntu-latest
defaults:
run:
working-directory: mcp-server
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Restore dependencies from cache
uses: actions/cache@v5
with:
path: ./mcp-server/node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles(format('{0}{1}', github.workspace, '/mcp-server/yarn.lock')) }}
- name: Lint
run: yarn lint
prettier-check:
needs: install-dependencies
runs-on: ubuntu-latest
defaults:
run:
working-directory: mcp-server
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Restore dependencies from cache
uses: actions/cache@v5
with:
path: ./mcp-server/node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles(format('{0}{1}', github.workspace, '/mcp-server/yarn.lock')) }}
- name: Format check
run: yarn format:check
type-check:
needs: install-dependencies
runs-on: ubuntu-latest
defaults:
run:
working-directory: mcp-server
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Restore dependencies from cache
uses: actions/cache@v5
with:
path: ./mcp-server/node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles(format('{0}{1}', github.workspace, '/mcp-server/yarn.lock')) }}
- name: Type check
run: yarn typecheck
unit-test-check:
needs: install-dependencies
runs-on: ubuntu-latest
defaults:
run:
working-directory: mcp-server
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Restore dependencies from cache
uses: actions/cache@v5
with:
path: ./mcp-server/node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles(format('{0}{1}', github.workspace, '/mcp-server/yarn.lock')) }}
- name: Test with coverage
run: yarn test:coverage
circular-check:
needs: install-dependencies
runs-on: ubuntu-latest
defaults:
run:
working-directory: mcp-server
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Restore dependencies from cache
uses: actions/cache@v5
with:
path: ./mcp-server/node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles(format('{0}{1}', github.workspace, '/mcp-server/yarn.lock')) }}
- name: Circular dependency check
run: yarn circular
build-check:
needs: install-dependencies
runs-on: ubuntu-latest
defaults:
run:
working-directory: mcp-server
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Restore dependencies from cache
uses: actions/cache@v5
with:
path: ./mcp-server/node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles(format('{0}{1}', github.workspace, '/mcp-server/yarn.lock')) }}
- name: Build
run: yarn build
# ─────────────── Rules Validation ───────────────
rules-validation:
needs: install-dependencies
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Validate AI Rules
run: |
echo "📋 Validating JSON Schema..."
yarn dlx ajv-cli validate -s .ai-rules/schemas/agent.schema.json -d ".ai-rules/agents/*.json" --spec=draft7
echo ""
echo "📝 Linting Markdown files..."
yarn dlx markdownlint-cli2 ".ai-rules/**/*.md"
echo ""
echo "✅ All rules validation passed!"
# ─────────────── Security Scan ───────────────
security-check:
needs: install-dependencies
runs-on: ubuntu-latest
defaults:
run:
working-directory: mcp-server
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Restore dependencies from cache
uses: actions/cache@v5
with:
path: ./mcp-server/node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles(format('{0}{1}', github.workspace, '/mcp-server/yarn.lock')) }}
- name: Security audit
run: yarn npm audit --severity high
continue-on-error: true