google-agents-cli-scaffold
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
Run the Wavecraft CI checks locally. Prefer the native `cargo xtask` commands for speed; use Docker + `act` only when validating GitHub Actions workflows or Linux-specific behavior.
Full skill instructions
Use this skill to test CI workflows locally before pushing to GitHub. Preferred path: run the native cargo xtask commands (fast, no Docker). Use Docker + act only when you need to validate workflow YAML or Linux-specific behavior.
Keep an xtask mirror for every workflow file under .github/workflows/. If a workflow changes (or a new one is added), update or add an xtask so local runs stay fast and consistent. Use Docker + act only for workflow/YAML-specific checks or Linux-only behavior.
| Workflow file | Preferred local mirror | Notes |
|---|---|---|
ci.yml | cargo xtask ci-check | Full lint + test suite |
template-validation.yml | cargo xtask validate-template | CLI template generation validation |
release.yml | cargo xtask release | Build/sign/notarize pipeline |
cli-release.yml | cargo xtask release | Mirror release steps where applicable; add a dedicated xtask if workflow diverges |
continuous-deploy.yml | cargo xtask release | Use release pipeline for parity; add a publish-focused xtask if needed |
These commands mirror CI checks without container overhead and are the recommended way to validate locally.
# Pre-push validation (lint + tests)
cargo xtask ci-check
# Template validation (mirrors template-validation.yml)
cargo xtask validate-template
# Optional targeted runs
cargo xtask lint
cargo xtask test
Use Docker + act when validating GitHub Actions workflow changes, Linux-specific behavior, or job orchestration.
⚠️ Agent Handoff: If you don't have terminal execution tools available, delegate to an agent who does (Coder or Tester) to run the Docker/act commands below.
brew install actWavecraft provides a custom Docker image with all dependencies pre-installed:
# Build the custom image (one-time setup)
docker build --platform linux/amd64 -t wavecraft-ci:latest .github/skills/run-ci-pipeline-locally/
# Run a specific job
act -j check-engine -W .github/workflows/ci.yml \
--container-architecture linux/amd64 \
-P ubuntu-latest=wavecraft-ci:latest \
--pull=false \
--artifact-server-path ./tmp/act-artifacts
| Job | Description | Local Testing |
|---|---|---|
check-ui | Prettier, ESLint, TypeScript | ✅ Works |
test-ui | Vitest unit tests | ✅ Works |
prepare-engine | Build UI + compile Rust | ✅ Works |
check-engine | cargo fmt + clippy | ✅ Works |
test-engine | cargo test | ✅ Works |
# Run entire CI workflow
act -W .github/workflows/ci.yml \
--container-architecture linux/amd64 \
-P ubuntu-latest=wavecraft-ci:latest \
--pull=false \
--artifact-server-path ./tmp/act-artifacts
The custom image includes:
# Build for linux/amd64 (required for Apple Silicon Macs)
docker build --platform linux/amd64 -t wavecraft-ci:latest \
.github/skills/run-ci-pipeline-locally/
# Verify the image
docker images | grep wavecraft-ci
Note: Build takes ~5-10 minutes on first run.
Important: Do not combine act commands with head or tail — follow the logs directly.
act -l
act -W .github/workflows/ci.yml
act -j <job-name>
act push
act pull_request
act -n
# Use GitHub CLI token
act -s GITHUB_TOKEN="$(gh auth token)"
# Use secrets file (.secrets with KEY=value format)
act --secret-file .secrets
| Flag | Purpose |
|---|---|
--container-architecture linux/amd64 | Required on Apple Silicon Macs |
-P ubuntu-latest=wavecraft-ci:latest | Use custom image with dependencies |
--pull=false | Use local image, don't pull from Docker Hub |
-W .github/workflows/ci.yml | Specify workflow file |
-j <job-name> | Run specific job |
--artifact-server-path <dir> | Enable local artifact upload/download |
By default, actions/upload-artifact and actions/download-artifact fail locally because they require GitHub's artifact server. Use the --artifact-server-path flag to enable a local artifact server:
act ... --artifact-server-path /tmp/act-artifacts
Artifacts will be stored in the specified directory and can be downloaded by subsequent jobs.
act doesn't share cache with GitHub Actions--reuse can be fasterSome steps require network access:
cargo downloads cratesnpm downloads packages# Verbose output
act -v
# Very verbose output
act -vv
# Keep containers running after failure for inspection
act --reuse
# Interactive shell in the container
docker exec -it <container-id> bash
| Issue | Solution |
|---|---|
| Docker not running | Start Docker Desktop |
--container-architecture errors | Ensure Docker supports linux/amd64 emulation |
| Image pull timeout | Use --pull=false with local image |
| Permission denied on files | Check Docker volume mounts |
Job uses macos-latest | Skip job or test manually |
| Missing Linux packages | Rebuild custom image |
| Rust compilation slow | Expected on first run; use --reuse for subsequent |
ACTIONS_RUNTIME_TOKEN error | Add --artifact-server-path /tmp/act-artifacts |
If CI dependencies change (new apt packages, Rust version, etc.):
.github/skills/run-ci-pipeline-locally/Dockerfiledocker build --platform linux/amd64 -t wavecraft-ci:latest .github/skills/run-ci-pipeline-locally/act -j check-engine ... --pull=falseProject scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
Set up tracing, logging, and monitoring for deployed ADK agents across Cloud Trace, BigQuery, and third-party platforms.
Enterprise Azure infrastructure architect generating Bicep or Terraform from workload descriptions.
Plan and configure production-ready Azure Kubernetes Service clusters with Day-0 and Day-1 best practices.
Raw mechanical interfaces fusing Swiss typographic print with military terminal aesthetics. Rigid grids, extreme type scale contrast, utilitarian color, analog degradation effects. For data-heavy dashboards, portfolios, or editorial sites that need to feel like declassified blueprints.
Web search, scraping, extraction, crawling, and monitoring via ScrapeGraph AI CLI.
Skill for working with Firebase Hosting (Classic). Use this when you want to deploy static web apps, Single Page Apps (SPAs), or simple microservices. Do NOT use for Firebase App Hosting.
Deploy and manage web apps with Firebase App Hosting. Use this skill when deploying Next.js/Angular apps with backends.
Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".
Build SEO-optimized pages at scale using templates, data, and proven playbook patterns.
Design and build isolated, reusable Convex backend components with clear boundaries and app-facing wrappers.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Opus.ai: Revolutionize Your Web Experience
Build a no-code AI app in minutes.
An IDE for code migration from legacy to modern frameworks through coding agents.
Automate CGI animation in live-action scenes
Branded artistic QR-code concepts
Launch a website in seconds with AI.
Streamline Your Coding Experience with AI Code Helper
Convert any screenshot or design to clean code.