awesome-agv 2.1.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -29
- package/agv.config.json +253 -0
- package/bin/awesome-agv.js +789 -157
- package/package.json +7 -3
package/README.md
CHANGED
|
@@ -38,9 +38,9 @@ For example, the principles of the [Rugged Software Constitution](.agents/rules/
|
|
|
38
38
|
### Key Features
|
|
39
39
|
|
|
40
40
|
* 📏 **25 Rules** — covering security, reliability, architecture, and maintainability. Distilled to project-specific decisions only — rules encode *what overrides model defaults*, not what models already know.
|
|
41
|
-
* 🛠️ **
|
|
41
|
+
* 🛠️ **57 Skills** — specialized capabilities loaded on demand: language idioms, debugging, design, performance, CI/CD, and more.
|
|
42
42
|
* 🔄 **12 Workflows** — end-to-end development processes from research to ship.
|
|
43
|
-
* 🤖 **
|
|
43
|
+
* 🤖 **21 Agent Personas** — specialized sub-agents for multi-agent orchestration arranged in a 4-tier hierarchy.
|
|
44
44
|
* 🏗️ **Three-Tier Loading System** — always-on mandates + contextual principles + on-demand skills for zero-noise enforcement.
|
|
45
45
|
|
|
46
46
|
> **💡 Everything is modular.** Rules, skills, agents, and workflows work independently — you don't need everything to benefit. Use only what you need, modify anything, or build your own. It's a toolkit, not a framework.
|
|
@@ -62,27 +62,42 @@ To equip your AI agent with these superpowers, follow these steps.
|
|
|
62
62
|
npx awesome-agv
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
This
|
|
65
|
+
This launches an interactive installer where you choose your installation mode:
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
| Mode | Description |
|
|
68
|
+
|---|---|
|
|
69
|
+
| 🚀 **Default** | Install everything — the full arsenal (recommended) |
|
|
70
|
+
| 🎯 **Curated** | Pick your languages & frameworks. Core rules and skills always included. |
|
|
71
|
+
| ⚙️ **Advanced** | Full granular control over every component. |
|
|
72
|
+
|
|
73
|
+
In **Curated** and **Advanced** modes, the installer auto-detects your project's tech stack from files like `go.mod`, `Cargo.toml`, `tsconfig.json`, `pubspec.yaml`, etc. and pre-selects matching stacks.
|
|
74
|
+
|
|
75
|
+
**CLI Flags:**
|
|
68
76
|
|
|
69
|
-
| Flag
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
| `--
|
|
73
|
-
| `--
|
|
77
|
+
| Flag | Description |
|
|
78
|
+
| --- | --- |
|
|
79
|
+
| `--stacks <list>` | Comma-separated stacks to include (**additive** with existing config) |
|
|
80
|
+
| `--all` | Install everything (equivalent to Default mode) |
|
|
81
|
+
| `--force, -f` | Replace existing `.agents/` — re-prompts from scratch |
|
|
82
|
+
| `--help, -h` | Show help |
|
|
74
83
|
|
|
75
84
|
### Examples
|
|
76
85
|
|
|
77
86
|
```bash
|
|
78
|
-
#
|
|
87
|
+
# Interactive — choose your mode
|
|
79
88
|
npx awesome-agv
|
|
80
89
|
|
|
81
|
-
#
|
|
82
|
-
npx awesome-agv
|
|
90
|
+
# Non-interactive: specific stacks, core always included
|
|
91
|
+
npx awesome-agv --stacks go,python
|
|
92
|
+
|
|
93
|
+
# Add React to existing installation (additive)
|
|
94
|
+
npx awesome-agv --stacks react
|
|
95
|
+
|
|
96
|
+
# Full install, no prompts
|
|
97
|
+
npx awesome-agv --all --force
|
|
83
98
|
|
|
84
|
-
#
|
|
85
|
-
npx awesome-agv --force
|
|
99
|
+
# CI/CD: specific stacks, no prompts
|
|
100
|
+
npx awesome-agv --stacks typescript,vue --force
|
|
86
101
|
```
|
|
87
102
|
|
|
88
103
|
**Manual Install:**
|
|
@@ -284,7 +299,7 @@ Activated by the model only when relevant — zero overhead when not applicable.
|
|
|
284
299
|
* **[Accessibility Principles](.agents/rules/accessibility-principles.md)**: WCAG 2.1 AA, semantic HTML, keyboard navigation
|
|
285
300
|
* **[Git Workflow Principles](.agents/rules/git-workflow-principles.md)**: Conventional commits, branch naming, PR hygiene
|
|
286
301
|
|
|
287
|
-
### Specialized Skills (
|
|
302
|
+
### Specialized Skills (57)
|
|
288
303
|
|
|
289
304
|
Skills are deep expertise modules loaded on demand — agents only pay the token cost when the skill is relevant.
|
|
290
305
|
|
|
@@ -311,7 +326,11 @@ Skills are deep expertise modules loaded on demand — agents only pay the token
|
|
|
311
326
|
* **[Mobile Design](.agents/skills/mobile-design/SKILL.md)**: Platform-native mobile interfaces for Flutter and React Native
|
|
312
327
|
|
|
313
328
|
#### 🔀 Multi-Agent Orchestration Skills
|
|
329
|
+
* **[Convergence Loop](.agents/skills/convergence-loop/SKILL.md)**: Iterative problem solving protocol for coordinators.
|
|
330
|
+
* **[Fault Recovery](.agents/skills/fault-recovery/SKILL.md)**: Structured fault tolerance and escalation ladder.
|
|
331
|
+
* **[Integrity Enforcement](.agents/skills/integrity-enforcement/SKILL.md)**: Zero-tolerance compliance checking for the arbiter agent.
|
|
314
332
|
* **[Parallel Dispatch](.agents/skills/parallel-dispatch/SKILL.md)**: MECE task decomposition, file ownership enforcement, DAG-based execution, and safe merge protocol for intra-domain parallel dispatch. The safety invariants that prevent merge chaos when multiple agents write in parallel. Applies recursively at every nesting depth.
|
|
333
|
+
* **[Scope Decomposition](.agents/skills/scope-decomposition/SKILL.md)**: Project and mission decomposition techniques.
|
|
315
334
|
* **[Audit Checklist](.agents/skills/audit-checklist/SKILL.md)**: Consolidated audit checklists for code review and verification — loaded by `/audit` workflow and multi-agent review pipelines.
|
|
316
335
|
* **[Acceptance Review](.agents/skills/acceptance-review/SKILL.md)**: Spec adherence and deliverable completeness verification — ensures what was delivered matches what was requested.
|
|
317
336
|
|
|
@@ -365,19 +384,22 @@ Language-specific patterns, tooling, project layout, and quality commands. Each
|
|
|
365
384
|
* **[Payment Integration](.agents/skills/payment-integration/SKILL.md)**: PCI DSS compliance, tokenization, and webhook reliability
|
|
366
385
|
* **[Supply Chain Security](.agents/skills/supply-chain-security/SKILL.md)**: SBOM generation, CVE scanning, and license compliance
|
|
367
386
|
|
|
368
|
-
### Agent Personas (
|
|
387
|
+
### Agent Personas (21)
|
|
369
388
|
|
|
370
|
-
Agent personas are specialized sub-agents designed for multi-agent orchestration. Each agent has an exclusive domain, clear boundaries, and never crosses into another agent's territory — enforcing MECE at the architecture level.
|
|
389
|
+
Agent personas are specialized sub-agents designed for multi-agent orchestration. The system uses a Recursive Multi-Agent System (RMAS) with a 4-tier orchestration hierarchy. Each agent has an exclusive domain, clear boundaries, and never crosses into another agent's territory — enforcing MECE at the architecture level.
|
|
371
390
|
|
|
372
391
|
#### Layers
|
|
373
392
|
|
|
374
393
|
| Layer | Agents | Purpose |
|
|
375
394
|
|---|---|---|
|
|
376
|
-
| **
|
|
395
|
+
| **L1 Strategic** | `overseer` | Program director: aligns multiple domain streams and manages cross-domain dependencies |
|
|
396
|
+
| **L2 Domain** | `rally-lead` | Domain coordinator: orchestrates multiple missions within a business vertical |
|
|
397
|
+
| **L3 Execution** | `mission-lead` | Mission manager: drives a specific feature slice to completion |
|
|
398
|
+
| **Compliance** | `arbiter`, `tech-lead` | Hard gate authorities: independent verification of rules, skills, and specs |
|
|
377
399
|
| **Research** | `scout` | Codebase exploration, pattern discovery, technology research |
|
|
378
|
-
| **Design** | `architect` + optional `ux-
|
|
400
|
+
| **Design** | `architect` + optional `ux-craftsman`, `database-expert`, `security-engineer` | System design, ADRs, API contracts |
|
|
379
401
|
| **Build** | `backend-engineer`, `frontend-engineer`, `mobile-engineer`, `database-expert`, `devops-engineer`, `technical-writer`, `test-automation-engineer`, `performance-engineer`, `refactoring-specialist` | Implementation with isolated worktrees |
|
|
380
|
-
| **Review** | `qa-analyst`, `security-engineer`, `ux-
|
|
402
|
+
| **Review** | `qa-analyst`, `security-engineer`, `ux-craftsman`, `incident-responder`, `acceptance-reviewer` | Quality gates, security audits, UX review |
|
|
381
403
|
|
|
382
404
|
See the [workflow-team](.agents/workflows/workflow-team.md) workflow for the full dispatch protocol, including recursive parallel dispatch with MECE file ownership and DAG-based execution ordering.
|
|
383
405
|
|
|
@@ -426,14 +448,15 @@ Includes 11 workflow templates (A-K) for common scenarios: full features, bug fi
|
|
|
426
448
|
|
|
427
449
|
```
|
|
428
450
|
.agents/
|
|
429
|
-
├── agents/ #
|
|
430
|
-
│ ├──
|
|
451
|
+
├── agents/ # 21 agent personas (multi-agent orchestration)
|
|
452
|
+
│ ├── overseer.md # L1 Strategic Director
|
|
453
|
+
│ ├── rally-lead.md # L2 Domain Coordinator
|
|
454
|
+
│ ├── mission-lead.md # L3 Execution Manager
|
|
455
|
+
│ ├── arbiter.md # Independent compliance authority
|
|
456
|
+
│ ├── tech-lead.md # Quality gate authority
|
|
431
457
|
│ ├── architect.md
|
|
432
458
|
│ ├── backend-engineer.md
|
|
433
|
-
│
|
|
434
|
-
│ ├── scout.md
|
|
435
|
-
│ ├── qa-analyst.md
|
|
436
|
-
│ └── ... # 10 more specialized agents
|
|
459
|
+
│ └── ... # 14 more specialized agents
|
|
437
460
|
├── rules/ # 25 rules: 10 always-on mandates + 15 contextual principles
|
|
438
461
|
│ │ # Each rule = project-specific decisions only (not model knowledge)
|
|
439
462
|
│ ├── rugged-software-constitution.md # always_on: hostile-environment posture
|
|
@@ -442,7 +465,7 @@ Includes 11 workflow templates (A-K) for common scenarios: full features, bug fi
|
|
|
442
465
|
│ ├── architectural-pattern.md # always_on: I/O isolation, testability
|
|
443
466
|
│ ├── rule-priority.md # always_on: conflict resolution
|
|
444
467
|
│ └── ... # 5 more always-on + 15 contextual principles
|
|
445
|
-
├── skills/ #
|
|
468
|
+
├── skills/ # 57 specialized skills — loaded on demand, not always
|
|
446
469
|
│ ├── go-idioms/ # paths: **/*.go — includes references/project-structure.md
|
|
447
470
|
│ ├── typescript-idioms/ # paths: **/*.ts, **/*.tsx
|
|
448
471
|
│ ├── vue-idioms/ # paths: **/*.vue, **/store/**/*.ts, **/*.store.ts
|
|
@@ -480,13 +503,14 @@ Includes 11 workflow templates (A-K) for common scenarios: full features, bug fi
|
|
|
480
503
|
<!-- ROADMAP -->
|
|
481
504
|
## Roadmap
|
|
482
505
|
|
|
483
|
-
- [x] Include more specialized skills to aid development process (
|
|
506
|
+
- [x] Include more specialized skills to aid development process (57 skills shipped).
|
|
484
507
|
- [x] Add development workflows for structured feature delivery (12 workflows shipped).
|
|
485
508
|
- [x] Add language-specific idiom skills (Go, TypeScript, Vue, Flutter, Rust, Python + 18 community language skills).
|
|
486
509
|
- [x] Create a CLI tool for easier installation (`npx awesome-agv`).
|
|
487
|
-
- [x] Add multi-agent orchestration with
|
|
510
|
+
- [x] Add multi-agent orchestration with 21 specialized agent personas in a 4-tier RMAS hierarchy.
|
|
488
511
|
- [x] Distill rules to decisions-only: strip generic knowledge, keep project-specific overrides (25 rules, -71% from peak).
|
|
489
512
|
- [x] Migrate language idioms from rules to on-demand skills — only load when relevant to the task.
|
|
513
|
+
- [x] Selective CLI installer — 3-tier modes (Default/Curated/Advanced) with auto-detection and manifest-driven extraction.
|
|
490
514
|
- [ ] Add automated validation scripts to check if an agent is following the constitution.
|
|
491
515
|
- [x] Publish comprehensive documentation site (GitHub Pages).
|
|
492
516
|
|
package/agv.config.json
ADDED
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "3.1.0",
|
|
3
|
+
"core": {
|
|
4
|
+
"paths": ["rules/", "workflows/", "agents/"]
|
|
5
|
+
},
|
|
6
|
+
"skills": {
|
|
7
|
+
"core": [
|
|
8
|
+
"acceptance-review",
|
|
9
|
+
"adr",
|
|
10
|
+
"api-documentation",
|
|
11
|
+
"audit-checklist",
|
|
12
|
+
"browser-automation",
|
|
13
|
+
"chaos-testing",
|
|
14
|
+
"ci-cd",
|
|
15
|
+
"cli-development",
|
|
16
|
+
"code-review",
|
|
17
|
+
"convergence-loop",
|
|
18
|
+
"data-engineering",
|
|
19
|
+
"debugging-protocol",
|
|
20
|
+
"embedded-systems",
|
|
21
|
+
"fault-recovery",
|
|
22
|
+
"feature-flags",
|
|
23
|
+
"frontend-design",
|
|
24
|
+
"guardrails",
|
|
25
|
+
"incident-response",
|
|
26
|
+
"integrity-enforcement",
|
|
27
|
+
"logging-implementation",
|
|
28
|
+
"ml-engineering",
|
|
29
|
+
"mobile-design",
|
|
30
|
+
"omni",
|
|
31
|
+
"parallel-dispatch",
|
|
32
|
+
"payment-integration",
|
|
33
|
+
"perf-optimization",
|
|
34
|
+
"refactoring-patterns",
|
|
35
|
+
"research-methodology",
|
|
36
|
+
"scope-decomposition",
|
|
37
|
+
"sequential-thinking",
|
|
38
|
+
"supply-chain-security",
|
|
39
|
+
"testability-patterns",
|
|
40
|
+
"testing-strategy"
|
|
41
|
+
],
|
|
42
|
+
"stacks": {
|
|
43
|
+
"go": {
|
|
44
|
+
"label": "Go",
|
|
45
|
+
"description": "stdlib, error wrapping, gofumpt",
|
|
46
|
+
"group": "core",
|
|
47
|
+
"detect": ["go.mod", "go.sum"],
|
|
48
|
+
"skills": ["go-idioms"]
|
|
49
|
+
},
|
|
50
|
+
"typescript": {
|
|
51
|
+
"label": "TypeScript",
|
|
52
|
+
"description": "strict mode, type narrowing, Zod, vitest",
|
|
53
|
+
"group": "core",
|
|
54
|
+
"detect": ["tsconfig.json"],
|
|
55
|
+
"skills": ["typescript-idioms"]
|
|
56
|
+
},
|
|
57
|
+
"flutter": {
|
|
58
|
+
"label": "Flutter",
|
|
59
|
+
"description": "Riverpod 3, freezed, go_router",
|
|
60
|
+
"group": "core",
|
|
61
|
+
"detect": ["pubspec.yaml"],
|
|
62
|
+
"skills": ["flutter-idioms"]
|
|
63
|
+
},
|
|
64
|
+
"rust": {
|
|
65
|
+
"label": "Rust",
|
|
66
|
+
"description": "tokio, thiserror/anyhow, clippy pedantic",
|
|
67
|
+
"group": "core",
|
|
68
|
+
"detect": ["Cargo.toml"],
|
|
69
|
+
"skills": ["rust-idioms"]
|
|
70
|
+
},
|
|
71
|
+
"python": {
|
|
72
|
+
"label": "Python",
|
|
73
|
+
"description": "ruff, mypy strict, pytest, Pydantic",
|
|
74
|
+
"group": "core",
|
|
75
|
+
"detect": ["pyproject.toml", "requirements.txt", "setup.py"],
|
|
76
|
+
"skills": ["python-idioms"]
|
|
77
|
+
},
|
|
78
|
+
"vue": {
|
|
79
|
+
"label": "Vue",
|
|
80
|
+
"description": "Composition API, Pinia, composables",
|
|
81
|
+
"group": "core",
|
|
82
|
+
"requires": ["typescript"],
|
|
83
|
+
"detect": ["*.vue"],
|
|
84
|
+
"skills": ["vue-idioms"]
|
|
85
|
+
},
|
|
86
|
+
"angular": {
|
|
87
|
+
"label": "Angular",
|
|
88
|
+
"description": "components, signals, DI, RxJS",
|
|
89
|
+
"group": "core",
|
|
90
|
+
"requires": ["typescript"],
|
|
91
|
+
"detect": ["angular.json"],
|
|
92
|
+
"skills": ["angular-idioms"]
|
|
93
|
+
},
|
|
94
|
+
"react": {
|
|
95
|
+
"label": "React",
|
|
96
|
+
"description": "hooks, Suspense, Server Components",
|
|
97
|
+
"group": "core",
|
|
98
|
+
"requires": ["typescript"],
|
|
99
|
+
"detect": [],
|
|
100
|
+
"skills": ["react-idioms"]
|
|
101
|
+
},
|
|
102
|
+
"nextjs": {
|
|
103
|
+
"label": "Next.js",
|
|
104
|
+
"description": "App Router, RSC, ISR",
|
|
105
|
+
"group": "community",
|
|
106
|
+
"requires": ["react"],
|
|
107
|
+
"detect": ["next.config.js", "next.config.mjs", "next.config.ts"],
|
|
108
|
+
"skills": ["nextjs-idioms"]
|
|
109
|
+
},
|
|
110
|
+
"axum": {
|
|
111
|
+
"label": "Axum",
|
|
112
|
+
"description": "Rust HTTP routing, extractors, middleware",
|
|
113
|
+
"group": "community",
|
|
114
|
+
"requires": ["rust"],
|
|
115
|
+
"detect": [],
|
|
116
|
+
"skills": ["axum-idioms"]
|
|
117
|
+
},
|
|
118
|
+
"django": {
|
|
119
|
+
"label": "Django",
|
|
120
|
+
"description": "ORM, views, middleware",
|
|
121
|
+
"group": "community",
|
|
122
|
+
"requires": ["python"],
|
|
123
|
+
"detect": ["manage.py"],
|
|
124
|
+
"skills": ["django-idioms"]
|
|
125
|
+
},
|
|
126
|
+
"laravel": {
|
|
127
|
+
"label": "Laravel",
|
|
128
|
+
"description": "Eloquent, middleware, queues",
|
|
129
|
+
"group": "community",
|
|
130
|
+
"requires": ["php"],
|
|
131
|
+
"detect": ["artisan"],
|
|
132
|
+
"skills": ["laravel-idioms"]
|
|
133
|
+
},
|
|
134
|
+
"rails": {
|
|
135
|
+
"label": "Rails",
|
|
136
|
+
"description": "ActiveRecord, conventions, RSpec",
|
|
137
|
+
"group": "community",
|
|
138
|
+
"requires": ["ruby"],
|
|
139
|
+
"detect": ["Rakefile"],
|
|
140
|
+
"skills": ["rails-idioms"]
|
|
141
|
+
},
|
|
142
|
+
"spring-boot": {
|
|
143
|
+
"label": "Spring Boot",
|
|
144
|
+
"description": "Spring DI, JPA, WebFlux",
|
|
145
|
+
"group": "community",
|
|
146
|
+
"requires": ["java"],
|
|
147
|
+
"detect": [],
|
|
148
|
+
"skills": ["spring-boot-idioms"]
|
|
149
|
+
},
|
|
150
|
+
"dotnet": {
|
|
151
|
+
"label": ".NET",
|
|
152
|
+
"description": "ASP.NET Core, Entity Framework",
|
|
153
|
+
"group": "community",
|
|
154
|
+
"requires": ["csharp"],
|
|
155
|
+
"detect": ["global.json", "*.fsproj"],
|
|
156
|
+
"skills": ["dotnet-idioms"]
|
|
157
|
+
},
|
|
158
|
+
"cpp": {
|
|
159
|
+
"label": "C++",
|
|
160
|
+
"description": "modern C++, RAII, smart pointers, CMake",
|
|
161
|
+
"group": "community",
|
|
162
|
+
"detect": ["CMakeLists.txt"],
|
|
163
|
+
"skills": ["cpp-idioms"]
|
|
164
|
+
},
|
|
165
|
+
"csharp": {
|
|
166
|
+
"label": "C#",
|
|
167
|
+
"description": ".NET, async/await, LINQ, records",
|
|
168
|
+
"group": "community",
|
|
169
|
+
"detect": ["*.csproj", "*.sln"],
|
|
170
|
+
"skills": ["csharp-idioms"]
|
|
171
|
+
},
|
|
172
|
+
"elixir": {
|
|
173
|
+
"label": "Elixir",
|
|
174
|
+
"description": "OTP, GenServer, supervision trees",
|
|
175
|
+
"group": "community",
|
|
176
|
+
"detect": ["mix.exs"],
|
|
177
|
+
"skills": ["elixir-idioms"]
|
|
178
|
+
},
|
|
179
|
+
"java": {
|
|
180
|
+
"label": "Java",
|
|
181
|
+
"description": "streams, records, sealed classes",
|
|
182
|
+
"group": "community",
|
|
183
|
+
"detect": ["pom.xml", "build.gradle"],
|
|
184
|
+
"skills": ["java-idioms"]
|
|
185
|
+
},
|
|
186
|
+
"javascript": {
|
|
187
|
+
"label": "JavaScript",
|
|
188
|
+
"description": "ES2024+, async patterns, ESM",
|
|
189
|
+
"group": "community",
|
|
190
|
+
"detect": [],
|
|
191
|
+
"skills": ["javascript-idioms"]
|
|
192
|
+
},
|
|
193
|
+
"kotlin": {
|
|
194
|
+
"label": "Kotlin",
|
|
195
|
+
"description": "coroutines, sealed classes, Android",
|
|
196
|
+
"group": "community",
|
|
197
|
+
"detect": ["build.gradle.kts"],
|
|
198
|
+
"skills": ["kotlin-idioms"]
|
|
199
|
+
},
|
|
200
|
+
"php": {
|
|
201
|
+
"label": "PHP",
|
|
202
|
+
"description": "PHP 8+, type declarations, Composer",
|
|
203
|
+
"group": "community",
|
|
204
|
+
"detect": ["composer.json"],
|
|
205
|
+
"skills": ["php-idioms"]
|
|
206
|
+
},
|
|
207
|
+
"ruby": {
|
|
208
|
+
"label": "Ruby",
|
|
209
|
+
"description": "blocks, modules, metaprogramming",
|
|
210
|
+
"group": "community",
|
|
211
|
+
"detect": ["Gemfile"],
|
|
212
|
+
"skills": ["ruby-idioms"]
|
|
213
|
+
},
|
|
214
|
+
"sql": {
|
|
215
|
+
"label": "SQL",
|
|
216
|
+
"description": "query optimization, indexes, migrations",
|
|
217
|
+
"group": "community",
|
|
218
|
+
"detect": [],
|
|
219
|
+
"skills": ["sql-idioms"]
|
|
220
|
+
},
|
|
221
|
+
"swift": {
|
|
222
|
+
"label": "Swift",
|
|
223
|
+
"description": "SwiftUI, Combine, async/await",
|
|
224
|
+
"group": "community",
|
|
225
|
+
"detect": ["Package.swift"],
|
|
226
|
+
"skills": ["swift-idioms"]
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"warnings": {
|
|
231
|
+
"always_on_rules": [
|
|
232
|
+
"rugged-software-constitution",
|
|
233
|
+
"security-mandate",
|
|
234
|
+
"rule-priority",
|
|
235
|
+
"logging-and-observability-mandate",
|
|
236
|
+
"architectural-pattern",
|
|
237
|
+
"code-idioms-and-conventions",
|
|
238
|
+
"code-organization-principles",
|
|
239
|
+
"core-design-principles",
|
|
240
|
+
"project-structure",
|
|
241
|
+
"documentation-principles"
|
|
242
|
+
],
|
|
243
|
+
"rmas_critical_skills": [
|
|
244
|
+
"convergence-loop",
|
|
245
|
+
"fault-recovery",
|
|
246
|
+
"integrity-enforcement",
|
|
247
|
+
"parallel-dispatch",
|
|
248
|
+
"scope-decomposition",
|
|
249
|
+
"audit-checklist",
|
|
250
|
+
"acceptance-review"
|
|
251
|
+
]
|
|
252
|
+
}
|
|
253
|
+
}
|