Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/TheBeardedBearSAS/claude-craftWrote 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/thebeardedbearsas/claude-craft/setup-ci)<a href="https://agentmods.dev/commands/thebeardedbearsas/claude-craft/setup-ci"><img src="https://agentmods.dev/badge/commands/thebeardedbearsas/claude-craft/setup-ci/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/thebeardedbearsas/claude-craft/setup-ci"><img src="https://agentmods.dev/badge/commands/thebeardedbearsas/claude-craft/setup-ci.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.00003 | $0.02973 |
| Opus 5.5 | $0.00001 | $0.01189 |
| Sonnet 5.5 | $0.00001 | $0.00595 |
| Haiku 4.5 | $0.00000 | $0.00297 |
Grade A, and why
setup-ci scanned grade A with 0 findings 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 1mo 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 523 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Configuration CI/CD
Tu es un DevOps Engineer expert. Tu dois configurer un pipeline CI/CD adapté aux technologies du projet, en suivant les bonnes pratiques.
Arguments
$ARGUMENTS
Arguments :
- Plateforme CI (github, gitlab, circleci)
- (Optionnel) Technologies détectées automatiquement
Exemple : /common:setup-ci github
MISSION
Étape 1 : Détecter les Technologies
Scanner le projet pour identifier :
# Fichiers de configuration
ls -la composer.json package.json pubspec.yaml pyproject.toml requirements.txt
# Structure
ls -la src/ lib/ app/ tests/
Étape 2 : Générer le Pipeline
GitHub Actions (.github/workflows/ci.yml)
name: CI/CD Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
env:
# Versions
PHP_VERSION: '8.3'
NODE_VERSION: '20'
PYTHON_VERSION: '3.12'
FLUTTER_VERSION: '3.24'
jobs:
#############################################
# DÉTECTION DES CHANGEMENTS
#############################################
changes:
runs-on: ubuntu-latest
outputs:
php: ${{ steps.filter.outputs.php }}
node: ${{ steps.filter.outputs.node }}
python: ${{ steps.filter.outputs.python }}
flutter: ${{ steps.filter.outputs.flutter }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
php:
- 'src/**/*.php'
- 'composer.json'
- 'composer.lock'
node:
- 'src/**/*.{ts,tsx,js,jsx}'
- 'package.json'
- 'package-lock.json'
python:
- '**/*.py'
- 'pyproject.toml'
- 'requirements*.txt'
flutter:
- 'lib/**/*.dart'
- 'pubspec.yaml'
#############################################
# PHP / SYMFONY
#############################################
php:
needs: changes
if: ${{ needs.changes.outputs.php == 'true' }}
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16
env:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: test
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ env.PHP_VERSION }}
extensions: mbstring, xml, pdo_pgsql, intl
coverage: xdebug
- name: Cache Composer
uses: actions/cache@v4
with:
path: vendor
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Lint
run: |
vendor/bin/php-cs-fixer fix --dry-run --diff
php bin/console lint:twig templates/
php bin/console lint:yaml config/
php bin/console lint:container
- name: Static Analysis
run: vendor/bin/phpstan analyse -l max
- name: Security Check
run: composer audit
- name: Tests
env:
DATABASE_URL: postgresql://postgres:postgres@localhost:5432/test
run: |
php bin/console doctrine:schema:create --env=test
vendor/bin/phpunit --coverage-text --coverage-clover=coverage.xml
- name: Upload Coverage
uses: codecov/codecov-action@v4
with:
files: coverage.xml
flags: php
#############################################
# NODE / REACT / REACT NATIVE
#############################################
node:
needs: changes
if: ${{ needs.changes.outputs.node == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Lint
run: |
npm run lint
npm run format:check
- name: Type Check
run: npm run typecheck
- name: Tests
run: npm run test -- --coverage
- name: Build
run: npm run build
- name: Bundle Analysis
run: npm run analyze || true
- name: Upload Coverage
uses: codecov/codecov-action@v4
with:
files: coverage/lcov.info
flags: node
#############################################
# PYTHON
#############################################
python:
needs: changes
if: ${{ needs.changes.outputs.python == 'true' }}
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16
env:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: test
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Cache pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }}
- name: Install dependencies
run: |
pip install -r requirements.txt
pip install -r requirements-dev.txt
- name: Lint
run: |
ruff check .
ruff format --check .
- name: Type Check
run: mypy .
- name: Security Check
run: pip-audit
- name: Tests
env:
DATABASE_URL: postgresql://postgres:postgres@localhost:5432/test
run: pytest --cov --cov-report=xml
- name: Upload Coverage
uses: codecov/codecov-action@v4
with:
files: coverage.xml
flags: python
#############################################
# FLUTTER
#############################################
flutter:
needs: changes
if: ${{ needs.changes.outputs.flutter == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- name: Install dependencies
run: flutter pub get
- name: Analyze
run: dart analyze --fatal-infos
- name: Format
run: dart format --set-exit-if-changed .
- name: Tests
run: flutter test --coverage
- name: Upload Coverage
uses: codecov/codecov-action@v4
with:
files: coverage/lcov.info
flags: flutter
#############################################
# DEPLOY STAGING
#############################################
deploy-staging:
needs: [php, node, python, flutter]
if: |
always() &&
github.ref == 'refs/heads/develop' &&
!contains(needs.*.result, 'failure')
runs-on: ubuntu-latest
environment: staging
steps:
- uses: actions/checkout@v4
- name: Deploy to Staging
run: |
echo "Deploying to staging..."
# Ajouter les commandes de déploiement
#############################################
# DEPLOY PRODUCTION
#############################################
deploy-production:
needs: [php, node, python, flutter]
if: |
always() &&
github.ref == 'refs/heads/main' &&
!contains(needs.*.result, 'failure')
runs-on: ubuntu-latest
environment: production
steps:
- uses: actions/checkout@v4
- name: Deploy to Production
run: |
echo "Deploying to production..."
# Ajouter les commandes de déploiement
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.
- 1mo ago First seen · 523 lines · 3 tokens per session scan A 0a52e666180a
setup-ci is a command published in the GitHub repository TheBeardedBearSAS/claude-craft (107 stars, last pushed 7d ago), licensed MIT. It adds 3 tokens to every session and 2,973 once invoked, about $0.0000 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
deploy
Deploy application with pre/post-deploy checks.
test-suite
Run comprehensive test suite with coverage analysis.
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
specify
Create or update the feature specification from a natural language feature description.
converge
Assess the current codebase against the feature's spec, plan, and tasks, then append any remaining unbuilt work as new tasks to tasks.md so implement can complete it.