

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# GitHub Copilot — Repository Instructions23> This file is automatically loaded by GitHub Copilot for every interaction in this repository.4> All rules defined here apply globally unless overridden by a scoped `*.instructions.md` file.56---78## Program Context910This repository supports an enterprise software modernization program spanning three technology domains:1112- **Legacy Java** — Spring 4/5 web applications (XML + annotation config, JdbcTemplate, servlet-based)13- **Modern Java** — Spring Boot 3.x microservices (Jakarta EE, Java 17/21, REST, JPA)14- **Angular** — Single-page applications built with Angular 15+ (standalone components, Signals API)15- **Mainframe** — IBM COBOL, Assembler, JCL, and CICS programs being analyzed and progressively modernized1617Copilot is expected to understand all four domains and produce code that respects the conventions of each stack.1819---2021## Technology Stack Summary2223| Domain | Language / Runtime | Key Frameworks & Libraries |24|--------|-------------------|---------------------------|25| Legacy Java | Java 8 / Java 11 | Spring 4.x/5.x, Spring MVC, JdbcTemplate, MapStruct, Maven |26| Modern Java | Java 17 / Java 21 | Spring Boot 3.x, Spring Data JPA, Spring Security 6.x, springdoc-openapi, MapStruct |27| Frontend | TypeScript (Angular 15+) | Angular, NgRx (optional), RxJS, Jasmine, Karma |28| Mainframe | IBM COBOL 6.x, Assembler, JCL | CICS, DB2 (z/OS), VSAM, QSAM |29| Testing | Java + TypeScript | JUnit 5, AssertJ, Mockito, Testcontainers, Awaitility, Pact |30| Build | Java | Maven (multi-module), npm |3132---3334## Universal Coding Standards3536### Naming37- Classes: `PascalCase` — `CustomerService`, `OrderRepository`38- Methods and variables: `camelCase` — `findActiveOrders()`, `customerId`39- Constants: `UPPER_SNAKE_CASE` — `MAX_RETRY_COUNT`40- Packages: lowercase, dot-separated — `com.example.order.service`41- Test classes: suffix with `Test` (unit) or `IT` (integration) — `OrderServiceTest`, `OrderControllerIT`42- Angular components: kebab-case file names — `customer-list.component.ts`4344### Design Principles45- Follow **SOLID** principles: every class has one reason to change46- Apply **DDD** where applicable: distinguish domain model from DTOs from persistence entities47- Use **hexagonal architecture** thinking: domain logic must not depend on infrastructure48- Prefer **composition over inheritance**49- Keep methods short (≤ 20 lines); extract private methods with descriptive names50- No magic numbers — use named constants5152### Dependency Injection53- **Constructor injection only** — never `@Autowired` on fields54- Mark injected fields `final` (Java)55- Use `inject()` function in Angular (not constructor injection in modern components)5657---5859## Logging Standards6061- Use **SLF4J** (`org.slf4j.Logger`) exclusively — never `System.out.println`, `System.err.println`, or `java.util.logging`62- Declare logger as: `private static final Logger log = LoggerFactory.getLogger(MyClass.class);`63- Log levels:64 - `DEBUG` — method entry/exit, parameter values (dev/test only)65 - `INFO` — significant business events (order created, user authenticated)66 - `WARN` — recoverable errors, unexpected but handled conditions67 - `ERROR` — exceptions that affect correctness; always include the exception object68- Never log sensitive data: passwords, tokens, PII, card numbers69- Use parameterized logging: `log.debug("Processing order {}", orderId)` — never string concatenation in log calls7071---7273## Security Non-Negotiables7475- **No hardcoded secrets** — no passwords, API keys, tokens, or connection strings in code or properties files76- **No raw SQL with string concatenation** — always use parameterized queries (`PreparedStatement`, JPA `@Query`, named parameters)77- **Validate all user input** at system boundaries — use Bean Validation (`@Valid`, `@NotNull`, `@Size`)78- **No `@SuppressWarnings("unchecked")`** without an explanatory comment stating why it is safe79- All REST endpoints must be explicitly authorized — no anonymous access to business APIs80- Secrets belong in environment variables or a vault — reference `${ENV_VAR}` in config, never inline values8182---8384## Dependency Policy8586- **Do not add new Maven or npm dependencies** that are not already declared in `pom.xml` / `package.json`87- If a dependency is genuinely needed, flag it with a comment: `// REQUIRES: add <groupId>:<artifactId>:<version> to pom.xml`88- Do not upgrade dependency versions without being asked — version changes require controlled review8990---9192## What Copilot Must NOT Generate9394| Forbidden Pattern | Reason |95|------------------|--------|96| `System.out.println(...)` | Use SLF4J logger |97| `@SuppressWarnings` without comment | Masks real issues |98| Raw generic types (`List`, `Map` without type params) | Type unsafe |99| `catch (Exception e) { }` (empty catch) | Silently swallows errors |100| `catch (Exception e) { e.printStackTrace(); }` | Use logger instead |101| Hardcoded IP addresses, ports, or credentials | Use config/env vars |102| `new Date()` or `Calendar` | Use `java.time` API |103| `@SuppressWarnings("deprecation")` on new code | Fix the root cause |104| `Thread.sleep()` in tests | Use `Awaitility` |105| `SELECT *` in SQL | List columns explicitly |106| String concatenation in SQL queries | Use parameterized queries |107| Deprecated Spring APIs (`WebSecurityConfigurerAdapter`, `javax.*` in Boot 3.x) | Use current replacements |108109---110111## Commit Message Format112113Follow **Conventional Commits** specification:114115```116<type>(<scope>): <short description>117118[optional body]119120[optional footer]121```122123Types: `feat`, `fix`, `refactor`, `test`, `docs`, `chore`, `perf`, `ci`124125Examples:126```127feat(order): add customer credit limit validation128fix(auth): resolve JWT expiry not checked on refresh129test(invoice): add missing branch coverage for null line items130refactor(customer): extract address validation to domain service131```132133---134135## Pull Request Standards136137- PR title follows Conventional Commits format138- PR description must include: what changed, why, how to test139- Every PR touching business logic must include or update tests140- PRs must not decrease overall test coverage141- All `[BLOCKER]` review comments must be resolved before merge142143---144145## Code Review Severity Labels146147When reviewing code, use these labels consistently:148149- `[BLOCKER]` — Must fix before merge: correctness bugs, security vulnerabilities, data loss risk150- `[MAJOR]` — Should fix before merge: missing error handling, architectural violations, no logging on exceptions151- `[MINOR]` — Fix in follow-up or current PR: naming issues, missing Javadoc, magic numbers152- `[NIT]` — Optional polish: formatting, unnecessary imports, whitespace153154---155156## Available Agents157158Select an agent from the Copilot Chat **@** dropdown to activate a specialist persona. Full catalogue: see `AGENTS.md` at the repository root.159160### Java Development161| Agent | Activate With | Use For |162|-------|--------------|---------|163| Java Developer | `@java-dev` | Ticket-scoped Spring Boot implementation |164| Java Tech Lead | `@java-tech-lead` | PR gating, standards enforcement, tech debt |165| Java Test Engineer | `@java-tester` | JUnit 5 / Testcontainers test suites |166| JaCoCo Coverage Analyst | `@jacoco-coverage-tester` | Coverage gap analysis and targeted test generation |167| Senior Java/Angular Developer | `@developer` | Full-stack Java + Angular implementation |168169### Angular Development170| Agent | Activate With | Use For |171|-------|--------------|---------|172| Angular Developer | `@angular-dev` | Standalone components, signals, lazy routes |173| Angular Test Engineer | `@angular-tester` | Jasmine/TestBed specs |174| Angular Coverage Analyst | `@angular-coverage-checker` | Istanbul/Karma coverage gap analysis |175176### Architecture & Design177| Agent | Activate With | Use For |178|-------|--------------|---------|179| Solution Architect | `@architect` | ADRs, bounded contexts, API contracts |180| Enterprise Architect | `@enterprise-architect` | Capability maps, technology lifecycle, TOGAF |181| AWS Solution Architect | `@aws-architect` | Well-Architected reviews, CDK stacks, cost estimates |182183### Code Quality & Security184| Agent | Activate With | Use For |185|-------|--------------|---------|186| Code Reviewer | `@reviewer` | [BLOCKER]/[MAJOR]/[MINOR]/[NIT] PR reviews |187| Security Auditor | `@security-auditor` | OWASP Top 10 audit with remediation code |188| Performance Specialist | `@performance-reviewer` | N+1 queries, resource leaks, rendering |189| Coverage Guardian | `@coverage-enforcer` | Coverage gap analysis and targeted tests |190| Test Quality Inspector | `@test-quality-enforcer` | Anti-pattern detection and test regeneration |191192### Infrastructure & Deployment193| Agent | Activate With | Use For |194|-------|--------------|---------|195| CDK / Terraform Helper | `@cdk-terraform-helper` | IaC stacks (CDK TypeScript or Terraform HCL) |196| AWS Deploy Helper | `@aws-deploy-helper` | Deploy commands, pre-deploy checklist, rollback |197| Local Deploy Helper | `@local-deploy-helper` | Docker Compose setup, smoke tests |198| Containerisation Helper | `@containerisation-helper` | Dockerfiles, K8s manifests, Helm |199| CI Engineer | `@ci-engineer` | GitHub Actions / Jenkins pipelines |200201### Data, ML & AI (AWS)202| Agent | Activate With | Use For |203|-------|--------------|---------|204| AWS Data Scientist | `@data-scientist-aws` | SageMaker notebooks, Glue ETL, Athena |205| AWS ML Engineer | `@ml-engineer-aws` | SageMaker pipelines, model registry, MLOps |206| AWS AI Engineer | `@ai-engineer-aws` | Bedrock LLM, RAG pipelines, guardrails |207208### Delivery & Operations209| Agent | Activate With | Use For |210|-------|--------------|---------|211| Estimator | `@estimator` | Bottom-up estimates (8h/day × 80% = 6.4h/day) |212| Project Tracker | `@project-tracker` | Sprint burndown, story status, velocity |213| Ops Engineer | `@ops-engineer` | CloudWatch dashboards, alarms, runbooks |214| Incident Handler | `@incident-handler` | P1/P2 war room coordination |215| RCA Agent | `@rca-agent` | 5-Whys root cause analysis |216217### Modernisation218| Agent | Activate With | Use For |219|-------|--------------|---------|220| Mainframe Modernization Specialist | `@modernization-expert` | COBOL → Java with semantic risk matrix |221| Business Analyst | `@analyst` | OpenAPI specs, Gherkin acceptance criteria |222| QA Automation Engineer | `@tester` | Full test pyramid for any stack |223224---225226## Agent Skills (Auto-Loaded)227228The following skills in `.github/skills/` are loaded automatically by Copilot when relevant:229230- **estimation** — Bottom-up effort estimation with P50/P80/P90 confidence ranges231- **jacoco-analysis** — JaCoCo report parsing and gap analysis232- **aws-cdk-deploy** — CDK deploy commands and rollback procedures233- **incident-response** — ITIL P1/P2 templates and escalation matrix234- **code-quality-scan** — SonarQube, SpotBugs, Checkstyle, OWASP report triage235236---237238## Hooks239240Lifecycle hooks in `.github/hooks/` log session activity to `.copilot-*.log` files:241242- **session-hooks.json** — logs session start/end and prompt submissions243- **tool-use-hooks.json** — logs tool invocations and outcomes244245---246247## IntelliJ / JetBrains Usage248249This file is loaded automatically by GitHub Copilot in both VS Code and IntelliJ IDEA. Agents (`.github/agents/`), instruction files (`.github/instructions/`), and prompt files (`.github/prompts/`) are accessible via Copilot Chat `#file:` reference in IntelliJ. See `intellij/` directory for IntelliJ-specific setup guidance.250
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/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/cicd.instructions.md · 1 | Copilot instructions | stylesecuritydeploymentdo-not+1 | 65/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 |
|---|---|---|---|---|---|
| HerringtonDarkholme/megarepo.github/copilot-instructions.md · 17 | Copilot instructions | setupbuildtestlint-format+7 | 100/100 | 14 days ago | |
| louislam/uptime-kuma.github/copilot-instructions.md · 90k | Copilot instructions | setupbuildtestlint-format+9 | 100/100 | 14 days ago | |
| chihebnabil/lovable-boilerplate.github/instructions/global.instructions.md · 65 | Copilot instructions | buildlint-formatstylearch+4 | 100/100 | 14 days ago | |
| pytorch/pytorch.github/copilot-instructions.md · 102k | Copilot instructions | setupbuildteststyle+5 | 100/100 | 14 days ago | |
| JCodesMore/ai-website-cloner-template.github/copilot-instructions.md · 32k | Copilot instructions | buildlint-formatstylearch+3 | 97/100 | 7 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 | |
| darkmatter/nixmac.github/copilot-instructions.md · 25 | Copilot instructions | setupbuildtestlint-format+8 | 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-copilot-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.