

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
123456## Context78This instruction file applies to GitHub Actions workflow files (`.github/workflows/*.yml`) and Jenkins pipeline files (`Jenkinsfile`). CI/CD pipelines are production code — they must be reviewed, version-controlled, and must not bypass quality gates.910---1112## Pipeline Quality Gate Requirements1314Every pipeline must enforce the following gates in order:15161. **Compile** — build passes with zero errors172. **Unit tests** — all tests pass; no flaky tests allowed in `main`183. **Coverage** — JaCoCo 80% line / 70% branch (business logic); Angular Istanbul 80/70/80/80194. **SAST** — SonarQube/SonarCloud quality gate: no new blockers or critical issues205. **Dependency scan** — OWASP dependency-check: no unfixed CVSS ≥ 8.0 CVEs216. **Container build** — Docker image builds successfully (on `main`/release branches only)227. **Deploy** — only after all gates pass; requires approval for production2324---2526## GitHub Actions Standards2728### Workflow File Naming2930| Purpose | File Name |31|---------|-----------|32| PR build and test | `ci.yml` |33| Main branch build + deploy to dev | `cd-dev.yml` |34| Release deploy to staging/prod | `cd-release.yml` |35| Scheduled scans (weekly) | `scheduled-scan.yml` |36| Dependency updates | `dependabot.yml` |3738### Required Elements3940```yaml41name: CI4243on:44 push:45 branches: [main, develop]46 pull_request:47 branches: [main, develop]4849jobs:50 build:51 runs-on: ubuntu-latest52 permissions:53 contents: read54 id-token: write # Required for OIDC-based AWS auth55 security-events: write # Required for SARIF upload (SAST)56```5758### AWS Authentication (OIDC — Required)5960Never use long-lived AWS access keys in GitHub Actions. Use OIDC:6162```yaml63- name: Configure AWS credentials64 uses: aws-actions/configure-aws-credentials@v465 with:66 role-to-assume: ${{ secrets.AWS_DEPLOY_ROLE_ARN }}67 aws-region: eu-west-168```6970### Caching7172```yaml73- uses: actions/cache@v474 with:75 path: ~/.m2/repository76 key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}77 restore-keys: |78 ${{ runner.os }}-maven-79```8081### Artefact Retention8283```yaml84- uses: actions/upload-artifact@v485 if: always() # Upload even on failure for debugging86 with:87 name: test-reports88 path: target/surefire-reports/89 retention-days: 790```9192---9394## Jenkins Declarative Pipeline Standards9596```groovy97pipeline {98 agent { label 'java21' }99100 options {101 timeout(time: 30, unit: 'MINUTES')102 buildDiscarder(logRotator(numToKeepStr: '10'))103 disableConcurrentBuilds()104 }105106 stages {107 stage('Build & Test') {108 parallel {109 stage('Maven Build') {110 steps { sh 'mvn clean verify -B -T 2' }111 }112 stage('OWASP Scan') {113 steps { sh 'mvn dependency-check:check -B' }114 }115 }116 }117 stage('SonarQube') {118 steps {119 withSonarQubeEnv('SonarQube') {120 sh 'mvn sonar:sonar -B'121 }122 timeout(time: 5, unit: 'MINUTES') {123 waitForQualityGate abortPipeline: true124 }125 }126 }127 stage('Docker Build') {128 when { branch 'main' }129 steps { sh 'docker build -t ${IMAGE_TAG} .' }130 }131 stage('Deploy Dev') {132 when { branch 'main' }133 steps {134 sh 'npx cdk deploy AppStack --context env=dev --require-approval never'135 }136 }137 stage('Deploy Prod') {138 when { branch 'release/*' }139 input { message 'Deploy to production?' }140 steps {141 sh 'npx cdk deploy AppStack --context env=prod --require-approval never'142 }143 }144 }145146 post {147 always {148 junit 'target/surefire-reports/*.xml'149 publishHTML target: [reportDir: 'target/site/jacoco', reportFiles: 'index.html', reportName: 'JaCoCo']150 }151 failure {152 slackSend(channel: '#build-alerts', message: "Build FAILED: ${JOB_NAME} #${BUILD_NUMBER}")153 }154 }155}156```157158---159160## Anti-Patterns161162- ❌ `--no-verify` or `--skip-tests` in CI pipeline commands163- ❌ Hardcoded AWS credentials as environment variables164- ❌ Production deployment without quality gate success165- ❌ Concurrent deploys to the same environment without a lock166- ❌ `continue-on-error: true` on security scan steps167
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| doubts-suplab/eeik-bootstrap.clinerules/golden-rules.md · 1 | Cline rules | gitsecuritydo-not | 61/100 | today | |
| doubts-suplab/eeik-bootstrap.clinerules/project.md · 1 | Cline rules | teststylegit | 63/100 | today | |
| doubts-suplab/eeik-bootstrap.cursor/rules/architecture.mdc · 1 | Cursor rules | do-not | 52/100 | today | |
| doubts-suplab/eeik-bootstrap.cursor/rules/capabilities.mdc · 1 | Cursor rules | teststylegit | 58/100 | today | |
| doubts-suplab/eeik-bootstrap.cursor/rules/golden-rules.mdc · 1 | Cursor rules | gitsecuritydo-not | 61/100 | today | |
| doubts-suplab/eeik-bootstrap.cursor/rules/python.mdc · 1 | Cursor rules | lint-formatstyletypesapi+1 | 77/100 | today | |
| doubts-suplab/eeik-bootstrap.cursor/rules/security.mdc · 1 | Cursor rules | security | 39/100 | today | |
| doubts-suplab/eeik-bootstrap.github/copilot-instructions.md · 1 | Copilot instructions | lint-formatstyletesting-strategygit+2 | 54/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/a2a-protocol.instructions.md · 1 | Copilot instructions | styleagent-behaviour | 48/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/ai-governance.instructions.md · 1 | Copilot instructions | stylearchdo-notagent-behaviour | 61/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/angular.instructions.md · 1 | Copilot instructions | teststyletypestesting-strategy+4 | 69/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/architecture-governance.instructions.md · 1 | Copilot instructions | testlint-formatstylegit+4 | 65/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/autogen.instructions.md · 1 | Copilot instructions | typessecurityagent-behaviour | 50/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/aws-architecture.instructions.md · 1 | Copilot instructions | styletypessecurityperformance | 58/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/aws-data-ml-ai.instructions.md · 1 | Copilot instructions | deployment | 54/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/cdk-terraform.instructions.md · 1 | Copilot instructions | teststylearchtypes+2 | 96/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/containerisation.instructions.md · 1 | Copilot instructions | buildstylesecuritydo-not | 77/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/crewai.instructions.md · 1 | Copilot instructions | styleagent-behaviour | 48/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/data-engineering.instructions.md · 1 | Copilot instructions | teststyletypesgit+5 | 69/100 | today | |
| doubts-suplab/eeik-bootstrap.github/instructions/deployment.instructions.md · 1 | Copilot instructions | teststylegitdeployment | 77/100 | today |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| chihebnabil/lovable-boilerplate.github/instructions/global.instructions.md · 65 | Copilot instructions | buildlint-formatstylearch+4 | 100/100 | 14 days ago | |
| louislam/uptime-kuma.github/copilot-instructions.md · 90k | Copilot instructions | setupbuildtestlint-format+9 | 100/100 | 14 days ago | |
| pytorch/pytorch.github/copilot-instructions.md · 102k | Copilot instructions | setupbuildteststyle+5 | 100/100 | 14 days ago | |
| HerringtonDarkholme/megarepo.github/copilot-instructions.md · 17 | Copilot instructions | setupbuildtestlint-format+7 | 100/100 | 14 days ago | |
| bagisto/bagisto.github/copilot-instructions.md · 28k | Copilot instructions | setupbuildteststyle+5 | 97/100 | 14 days ago | |
| hiyouga/LlamaFactory.github/copilot-instructions.md · 74k | Copilot instructions | setupbuildtestlint-format+5 | 97/100 | 13 days ago | |
| JCodesMore/ai-website-cloner-template.github/copilot-instructions.md · 32k | Copilot instructions | buildlint-formatstylearch+3 | 97/100 | 7 days ago | |
| nerolis-lab/nerolis-lab.github/copilot-instructions.md · 32 | Copilot instructions | setupbuildtestlint-format+11 | 96/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/doubts-suplab-eeik-bootstrap-github-instructions-cicd-instructions)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.