awesome-agv 3.0.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 CHANGED
@@ -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 downloads and installs the latest `.agents/` directory into your current project. Your AI agent will automatically pick it up — no additional configuration needed.
65
+ This launches an interactive installer where you choose your installation mode:
66
66
 
67
- **Options:**
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 | Description |
70
- | -------------- | ---------------------------------------------- |
71
- | `[target-dir]` | Directory to install into (default: `./`) |
72
- | `--force, -f` | Overwrite existing `.agents/` without prompting |
73
- | `--help, -h` | Show help |
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
- # Install into current directory
87
+ # Interactive choose your mode
79
88
  npx awesome-agv
80
89
 
81
- # Install into a specific project
82
- npx awesome-agv ./my-project
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
- # Overwrite existing installation without prompting
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:**
@@ -488,13 +503,14 @@ Includes 11 workflow templates (A-K) for common scenarios: full features, bug fi
488
503
  <!-- ROADMAP -->
489
504
  ## Roadmap
490
505
 
491
- - [x] Include more specialized skills to aid development process (53 skills shipped).
506
+ - [x] Include more specialized skills to aid development process (57 skills shipped).
492
507
  - [x] Add development workflows for structured feature delivery (12 workflows shipped).
493
508
  - [x] Add language-specific idiom skills (Go, TypeScript, Vue, Flutter, Rust, Python + 18 community language skills).
494
509
  - [x] Create a CLI tool for easier installation (`npx awesome-agv`).
495
- - [x] Add multi-agent orchestration with 16 specialized agent personas (including tech-lead anchor) and consolidated parallel dispatch.
510
+ - [x] Add multi-agent orchestration with 21 specialized agent personas in a 4-tier RMAS hierarchy.
496
511
  - [x] Distill rules to decisions-only: strip generic knowledge, keep project-specific overrides (25 rules, -71% from peak).
497
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.
498
514
  - [ ] Add automated validation scripts to check if an agent is following the constitution.
499
515
  - [x] Publish comprehensive documentation site (GitHub Pages).
500
516
 
@@ -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
+ }