Borrowing it
Nothing to install: this file belongs to solanabr/solana-vault-standard. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/solanabr/solana-vault-standard/main/.claude/commands/setup-ci-cd.mdgit clone --depth 1 https://github.com/solanabr/solana-vault-standardWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/solanabr/solana-vault-standard/setup-ci-cd)<a href="https://agentmods.dev/commands/solanabr/solana-vault-standard/setup-ci-cd"><img src="https://agentmods.dev/badge/commands/solanabr/solana-vault-standard/setup-ci-cd/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/solanabr/solana-vault-standard/setup-ci-cd"><img src="https://agentmods.dev/badge/commands/solanabr/solana-vault-standard/setup-ci-cd.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00012 | $0.02707 |
| Opus 5 | $0.00006 | $0.01354 |
| Sonnet 5 | $0.00002 | $0.00541 |
| Haiku 4.5 | $0.00001 | $0.00271 |
Grade A, and why
setup-ci-cd scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
sh -c "$(curl -sSfL https://release.solana.com/v${{ env.SOLANA_VERSION }}/install)" This is a copy
95% identical to setup-ci-cd — 4 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 442 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are setting up a CI/CD pipeline for Solana program development. Modern Solana development requires automated security checks on every commit.
Related Skills
- deployment.md - CI/CD patterns and workflows
- testing.md - Test automation
- security.md - Security automation
Overview
This command creates a GitHub Actions workflow that automatically:
- Builds programs with verifiable builds
- Runs comprehensive tests (unit, integration, fuzz)
- Performs security audits (cargo audit, clippy)
- Validates code formatting
- Generates security reports
Step 1: Create GitHub Actions Workflow
# Create .github/workflows directory
mkdir -p .github/workflows
# Create workflow file
cat > .github/workflows/solana-security.yml << 'EOF'
name: Solana Security Pipeline
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
env:
SOLANA_VERSION: '2.1.0'
ANCHOR_VERSION: '0.31.1'
RUST_VERSION: '1.82.0'
jobs:
security-audit:
name: Security Audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ env.RUST_VERSION }}
components: clippy, rustfmt
- name: Cache Cargo dependencies
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install Solana
run: |
sh -c "$(curl -sSfL https://release.solana.com/v${{ env.SOLANA_VERSION }}/install)"
echo "$HOME/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH
- name: Install Anchor
run: |
cargo install --git https://github.com/coral-xyz/anchor --tag v${{ env.ANCHOR_VERSION }} anchor-cli --locked
- name: Format Check
run: cargo fmt --all -- --check
- name: Clippy Security Lints
run: |
cargo clippy --all-targets --all-features -- \
-W clippy::all \
-W clippy::pedantic \
-W clippy::unwrap_used \
-W clippy::expect_used \
-W clippy::arithmetic_side_effects \
-D warnings
- name: Cargo Audit
run: |
cargo install cargo-audit
cargo audit
- name: Build Programs
run: anchor build
- name: Run Tests
run: |
# Unit tests
cargo test
# Integration tests
anchor test --skip-deploy
- name: Security Report
if: always()
run: |
echo "## Security Audit Report" >> $GITHUB_STEP_SUMMARY
echo "- ✅ Format check passed" >> $GITHUB_STEP_SUMMARY
echo "- ✅ Clippy security lints passed" >> $GITHUB_STEP_SUMMARY
echo "- ✅ Cargo audit passed" >> $GITHUB_STEP_SUMMARY
echo "- ✅ All tests passed" >> $GITHUB_STEP_SUMMARY
verifiable-build:
name: Verifiable Build
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ env.RUST_VERSION }}
- name: Install Anchor
run: |
cargo install --git https://github.com/coral-xyz/anchor --tag v${{ env.ANCHOR_VERSION }} anchor-cli --locked
- name: Verifiable Build
run: anchor build --verifiable
- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
name: verifiable-build
path: |
target/deploy/*.so
target/idl/*.json
fuzz-testing:
name: Fuzz Testing
runs-on: ubuntu-latest
if: github.event_name == 'push'
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ env.RUST_VERSION }}
- name: Install Trident
run: cargo install trident-cli
- name: Run Fuzz Tests
run: |
cd trident-tests
trident fuzz run --timeout 300
timeout-minutes: 10
continue-on-error: true
- name: Upload Fuzz Results
if: always()
uses: actions/upload-artifact@v4
with:
name: fuzz-results
path: trident-tests/hfuzz_workspace/
EOF
echo "✅ GitHub Actions workflow created: .github/workflows/solana-security.yml"
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 442 lines · 12 tokens per session scan A f23a86f6ae93
setup-ci-cd is a command published in the GitHub repository solanabr/solana-vault-standard (24 stars, last pushed 5mo ago), licensed MIT. It adds 12 tokens to every session and 2,707 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). It is 95% identical to setup-ci-cd, differing in 4 lines, and is treated as a copy.
Other commands, from other repositories
auditor:audit-assist
Flow B — AI-assisted iterative audit with a human in the loop. Same lifecycle as audit-cycle, but pauses at checkpoints to surface confirmed findings, the next-focus plan, and targeted questions only the human can answer (business context, trust model, severity calls). The human steers; the agent re-synthesizes toward…
auditor:intake
Interactive engagement intake (alias /scope). Walks QUESTIONS.md and persists the answers to audit /intake.md — the durable intake artifact both audit-cycle and audit-assist read, instead of answers living only in conversation state. Captures scope + commit pin, languages/frameworks, protocol class, compliance…
auditor:economic-sim
Quantify a candidate economic finding — compute attack cost vs extractable value and, when possible, reproduce deposit→manipulate→withdraw against a Surfpool mainnet-fork for a real P/L figure.
audit-strict
Multi-pass consensus audit — runs the audit twice with different prompts, only reports consensus findings. Aggressively cuts false positives.
security-check
Fast security baseline audit of a product — tracked secrets, unpinned/vulnerable GitHub Actions, workflow permission scope, untrusted-input triggers, MCP-config surface, and an RLS reminder. Add --live to also check the RUNNING system for drift (live RLS status, storage-bucket visibility, Security Advisors, preview…
azure-graph-dotnet:deploy-azure
Deploy a C# Azure Functions or Container Job project to Azure — provision infrastructure with Bicep, push image to ACR, assign Managed Identity Graph permissions, and generate or update GitHub Actions or Azure DevOps CI/CD pipelines.