feat(skills): improve taskMaestro start and assign subcommands #375
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: codingbuddy-canary | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - stag-** | |
| paths: | |
| - 'apps/mcp-server/**' | |
| - 'packages/rules/**' | |
| - 'packages/claude-code-plugin/**' | |
| - '.antigravity/**' | |
| - '.claude/**' | |
| - '.codex/**' | |
| - '.cursor/**' | |
| - 'scripts/**' | |
| - .github/workflows/canary.yml | |
| permissions: | |
| statuses: write | |
| contents: read | |
| jobs: | |
| publish-canary: | |
| if: github.repository == 'JeremyDev87/codingbuddy' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Setup node.js | |
| uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: '24' | |
| - name: Restore dependencies from cache | |
| id: cache | |
| uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 | |
| with: | |
| path: | | |
| node_modules | |
| apps/*/node_modules | |
| packages/*/node_modules | |
| key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-yarn- | |
| - name: Install dependencies | |
| run: yarn install --immutable | |
| - name: Build mcp-server | |
| run: yarn workspace codingbuddy build | |
| # Generate a single canary version to ensure both packages use the same version | |
| # This fixes the timestamp mismatch bug where rules and mcp-server had different versions | |
| - name: Generate canary version | |
| run: | | |
| TIMESTAMP=$(date +%Y%m%d%H%M%S) | |
| COMMIT_SHA=${GITHUB_SHA::7} | |
| VERSION="0.0.0-canary.${TIMESTAMP}.g${COMMIT_SHA}" | |
| if [ -z "$VERSION" ]; then | |
| echo "::error::Failed to generate canary version" | |
| exit 1 | |
| fi | |
| echo "CANARY_VERSION=$VERSION" >> $GITHUB_ENV | |
| echo "Generated canary version: $VERSION" | |
| - name: Publish rules canary | |
| working-directory: packages/rules | |
| run: | | |
| VERSION="${{ env.CANARY_VERSION }}" | |
| cat <<< "$( jq --arg v "$VERSION" '.version = $v' package.json )" > package.json | |
| yarn npm publish --tag canary | |
| env: | |
| YARN_NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| - name: Publish mcp-server canary | |
| working-directory: apps/mcp-server | |
| run: | | |
| VERSION="${{ env.CANARY_VERSION }}" | |
| # Update version and replace workspace dependency with canary version | |
| cat <<< "$( jq --arg v "$VERSION" '.version = $v | .dependencies["codingbuddy-rules"] = $v' package.json )" > package.json | |
| yarn npm publish --tag canary | |
| env: | |
| YARN_NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| - name: Output mcp-server canary version | |
| working-directory: apps/mcp-server | |
| run: | | |
| name=$(jq -r .name package.json) | |
| version=$(jq -r .version package.json) | |
| yarn dlx action-status@0.1.1 --context "Published $name" --state success --description $version --url "https://unpkg.com/$name@$version/" | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build plugin | |
| run: yarn workspace codingbuddy-claude-plugin build | |
| - name: Publish plugin canary | |
| working-directory: packages/claude-code-plugin | |
| run: | | |
| VERSION="${{ env.CANARY_VERSION }}" | |
| cat <<< "$( jq --arg v "$VERSION" '.version = $v' package.json )" > package.json | |
| yarn npm publish --tag canary | |
| env: | |
| YARN_NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| - name: Output plugin canary version | |
| working-directory: packages/claude-code-plugin | |
| run: | | |
| name=$(jq -r .name package.json) | |
| version=$(jq -r .version package.json) | |
| yarn dlx action-status@0.1.1 --context "Published $name" --state success --description $version --url "https://unpkg.com/$name@$version/" | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |