awesome-agv 1.1.0 → 1.1.2

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
@@ -22,6 +22,8 @@
22
22
 
23
23
  Instead of just generating code that works, the rules and skills ensures agents generate code that **survives**.
24
24
 
25
+ > **⚠️ Opinionated by design.** Awesome AGV ships with opinionated defaults for specific technology stacks. See [Opinionated Technology Choices](#opinionated-technology-choices) for details and how to customize.
26
+
25
27
  While this configuration is originally designed for **Antigravity**, it is built on standard markdown-based context protocols that are easily portable to other AI coding tools. As a matter of fact, the original form [Technical Constitution](https://github.com/irahardianto/technical-constitution/blob/main/technical-constitution-full.md) was first created for **Gemini CLI**
26
28
 
27
29
  You can drop this configuration into the context or custom rule settings of:
@@ -34,7 +36,7 @@ For example, the principles of the [Rugged Software Constitution](.agent/rules/r
34
36
 
35
37
  ### Key Features
36
38
 
37
- * 📏 **30 Rules** — covering security, reliability, architecture, maintainability, and DevOps.
39
+ * 📏 **38 Rules** — covering security, reliability, architecture, maintainability, language idioms, and DevOps.
38
40
  * 🛠️ **7 Skills** — specialized capabilities for debugging, design, code review, and more.
39
41
  * 🔄 **10 Workflows** — end-to-end development processes from research to ship.
40
42
  * 🏗️ **Two-Tier Rule System** — always-on mandates + contextual principles for zero-noise enforcement.
@@ -105,6 +107,219 @@ The setup uses a **two-tier rule system** to minimize noise while maximizing cov
105
107
 
106
108
  Conflicts between rules are resolved by [Rule Priority](.agent/rules/rule-priority.md) — security always wins.
107
109
 
110
+ ### Rule Dependencies
111
+
112
+ The rules are highly interconnected to provide comprehensive coverage. You can explore these relationships using the **[Interactive Rule Dependency Graph](https://irahardianto.github.io/awesome-agv/rule_dependency_graph.html)**, or view the static diagram below.
113
+
114
+ <details>
115
+ <summary>View Dependency Graph (Mermaid)</summary>
116
+
117
+ ```mermaid
118
+ graph TD
119
+ accessibility_principles["accessibility-principles.md"]
120
+ api_design_principles["api-design-principles.md"]
121
+ architectural_pattern["architectural-pattern.md"]
122
+ ci_cd_principles["ci-cd-principles.md"]
123
+ code_completion_mandate["code-completion-mandate.md"]
124
+ code_idioms_and_conventions["code-idioms-and-conventions.md"]
125
+ code_organization_principles["code-organization-principles.md"]
126
+ command_execution_principles["command-execution-principles.md"]
127
+ concurrency_and_threading_mandate["concurrency-and-threading-mandate.md"]
128
+ concurrency_and_threading_principles["concurrency-and-threading-principles.md"]
129
+ configuration_management_principles["configuration-management-principles.md"]
130
+ core_design_principles["core-design-principles.md"]
131
+ data_serialization_and_interchange_principles["data-serialization-and-interchange-principles.md"]
132
+ database_design_principles["database-design-principles.md"]
133
+ dependency_management_principles["dependency-management-principles.md"]
134
+ documentation_principles["documentation-principles.md"]
135
+ error_handling_principles["error-handling-principles.md"]
136
+ flutter_idioms_and_patterns["flutter-idioms-and-patterns.md"]
137
+ git_workflow_principles["git-workflow-principles.md"]
138
+ go_idioms_and_patterns["go-idioms-and-patterns.md"]
139
+ logging_and_observability_mandate["logging-and-observability-mandate.md"]
140
+ logging_and_observability_principles["logging-and-observability-principles.md"]
141
+ monitoring_and_alerting_principles["monitoring-and-alerting-principles.md"]
142
+ performance_optimization_principles["performance-optimization-principles.md"]
143
+ project_structure_flutter_mobile["project-structure-flutter-mobile.md"]
144
+ project_structure_go_backend["project-structure-go-backend.md"]
145
+ project_structure_rust_cargo["project-structure-rust-cargo.md"]
146
+ project_structure_vue_frontend["project-structure-vue-frontend.md"]
147
+ project_structure["project-structure.md"]
148
+ resources_and_memory_management_principles["resources-and-memory-management-principles.md"]
149
+ rugged_software_constitution["rugged-software-constitution.md"]
150
+ rule_priority["rule-priority.md"]
151
+ rust_idioms_and_patterns["rust-idioms-and-patterns.md"]
152
+ security_mandate["security-mandate.md"]
153
+ security_principles["security-principles.md"]
154
+ testing_strategy["testing-strategy.md"]
155
+ typescript_idioms_and_patterns["typescript-idioms-and-patterns.md"]
156
+ vue_idioms_and_patterns["vue-idioms-and-patterns.md"]
157
+ accessibility_principles --> core_design_principles
158
+ accessibility_principles --> security_principles
159
+ accessibility_principles --> testing_strategy
160
+ api_design_principles --> data_serialization_and_interchange_principles
161
+ api_design_principles --> error_handling_principles
162
+ api_design_principles --> logging_and_observability_mandate
163
+ api_design_principles --> security_mandate
164
+ api_design_principles --> security_principles
165
+ architectural_pattern --> code_organization_principles
166
+ architectural_pattern --> core_design_principles
167
+ architectural_pattern --> database_design_principles
168
+ architectural_pattern --> project_structure
169
+ architectural_pattern --> testing_strategy
170
+ ci_cd_principles --> code_completion_mandate
171
+ ci_cd_principles --> git_workflow_principles
172
+ ci_cd_principles --> project_structure
173
+ ci_cd_principles --> security_mandate
174
+ ci_cd_principles --> testing_strategy
175
+ code_completion_mandate --> code_idioms_and_conventions
176
+ code_completion_mandate --> flutter_idioms_and_patterns
177
+ code_completion_mandate --> go_idioms_and_patterns
178
+ code_completion_mandate --> rugged_software_constitution
179
+ code_completion_mandate --> rust_idioms_and_patterns
180
+ code_completion_mandate --> typescript_idioms_and_patterns
181
+ code_completion_mandate --> vue_idioms_and_patterns
182
+ code_idioms_and_conventions --> code_completion_mandate
183
+ code_idioms_and_conventions --> core_design_principles
184
+ code_idioms_and_conventions --> flutter_idioms_and_patterns
185
+ code_idioms_and_conventions --> go_idioms_and_patterns
186
+ code_idioms_and_conventions --> rust_idioms_and_patterns
187
+ code_idioms_and_conventions --> typescript_idioms_and_patterns
188
+ code_idioms_and_conventions --> vue_idioms_and_patterns
189
+ code_organization_principles --> architectural_pattern
190
+ code_organization_principles --> core_design_principles
191
+ code_organization_principles --> project_structure
192
+ command_execution_principles --> security_mandate
193
+ command_execution_principles --> security_principles
194
+ concurrency_and_threading_mandate --> concurrency_and_threading_principles
195
+ concurrency_and_threading_mandate --> performance_optimization_principles
196
+ concurrency_and_threading_principles --> error_handling_principles
197
+ concurrency_and_threading_principles --> resources_and_memory_management_principles
198
+ concurrency_and_threading_principles --> testing_strategy
199
+ configuration_management_principles --> security_mandate
200
+ configuration_management_principles --> security_principles
201
+ core_design_principles --> accessibility_principles
202
+ core_design_principles --> architectural_pattern
203
+ core_design_principles --> code_organization_principles
204
+ core_design_principles --> documentation_principles
205
+ data_serialization_and_interchange_principles --> api_design_principles
206
+ data_serialization_and_interchange_principles --> error_handling_principles
207
+ data_serialization_and_interchange_principles --> security_mandate
208
+ data_serialization_and_interchange_principles --> security_principles
209
+ database_design_principles --> error_handling_principles
210
+ database_design_principles --> performance_optimization_principles
211
+ database_design_principles --> security_principles
212
+ dependency_management_principles --> security_mandate
213
+ dependency_management_principles --> security_principles
214
+ documentation_principles --> code_organization_principles
215
+ documentation_principles --> core_design_principles
216
+ error_handling_principles --> api_design_principles
217
+ error_handling_principles --> concurrency_and_threading_mandate
218
+ error_handling_principles --> logging_and_observability_mandate
219
+ error_handling_principles --> security_mandate
220
+ error_handling_principles --> security_principles
221
+ error_handling_principles --> testing_strategy
222
+ flutter_idioms_and_patterns --> architectural_pattern
223
+ flutter_idioms_and_patterns --> code_idioms_and_conventions
224
+ flutter_idioms_and_patterns --> dependency_management_principles
225
+ flutter_idioms_and_patterns --> error_handling_principles
226
+ flutter_idioms_and_patterns --> project_structure_flutter_mobile
227
+ flutter_idioms_and_patterns --> testing_strategy
228
+ git_workflow_principles --> code_completion_mandate
229
+ git_workflow_principles --> security_mandate
230
+ git_workflow_principles --> testing_strategy
231
+ go_idioms_and_patterns --> code_idioms_and_conventions
232
+ go_idioms_and_patterns --> concurrency_and_threading_principles
233
+ go_idioms_and_patterns --> dependency_management_principles
234
+ go_idioms_and_patterns --> error_handling_principles
235
+ go_idioms_and_patterns --> logging_and_observability_principles
236
+ go_idioms_and_patterns --> project_structure_go_backend
237
+ go_idioms_and_patterns --> testing_strategy
238
+ logging_and_observability_mandate --> api_design_principles
239
+ logging_and_observability_mandate --> error_handling_principles
240
+ logging_and_observability_mandate --> logging_and_observability_principles
241
+ logging_and_observability_mandate --> monitoring_and_alerting_principles
242
+ logging_and_observability_principles --> api_design_principles
243
+ logging_and_observability_principles --> error_handling_principles
244
+ logging_and_observability_principles --> logging_and_observability_mandate
245
+ logging_and_observability_principles --> monitoring_and_alerting_principles
246
+ logging_and_observability_principles --> security_mandate
247
+ logging_and_observability_principles --> security_principles
248
+ monitoring_and_alerting_principles --> concurrency_and_threading_principles
249
+ monitoring_and_alerting_principles --> error_handling_principles
250
+ monitoring_and_alerting_principles --> logging_and_observability_mandate
251
+ monitoring_and_alerting_principles --> logging_and_observability_principles
252
+ monitoring_and_alerting_principles --> resources_and_memory_management_principles
253
+ performance_optimization_principles --> concurrency_and_threading_mandate
254
+ performance_optimization_principles --> concurrency_and_threading_principles
255
+ performance_optimization_principles --> resources_and_memory_management_principles
256
+ project_structure_flutter_mobile --> flutter_idioms_and_patterns
257
+ project_structure_flutter_mobile --> project_structure
258
+ project_structure_go_backend --> go_idioms_and_patterns
259
+ project_structure_go_backend --> project_structure
260
+ project_structure_rust_cargo --> project_structure
261
+ project_structure_rust_cargo --> rust_idioms_and_patterns
262
+ project_structure_vue_frontend --> project_structure
263
+ project_structure_vue_frontend --> typescript_idioms_and_patterns
264
+ project_structure_vue_frontend --> vue_idioms_and_patterns
265
+ project_structure --> architectural_pattern
266
+ project_structure --> code_organization_principles
267
+ project_structure --> project_structure_flutter_mobile
268
+ project_structure --> project_structure_go_backend
269
+ project_structure --> project_structure_rust_cargo
270
+ project_structure --> project_structure_vue_frontend
271
+ resources_and_memory_management_principles --> concurrency_and_threading_mandate
272
+ resources_and_memory_management_principles --> concurrency_and_threading_principles
273
+ resources_and_memory_management_principles --> error_handling_principles
274
+ rugged_software_constitution --> architectural_pattern
275
+ rugged_software_constitution --> code_idioms_and_conventions
276
+ rugged_software_constitution --> core_design_principles
277
+ rugged_software_constitution --> error_handling_principles
278
+ rugged_software_constitution --> logging_and_observability_mandate
279
+ rugged_software_constitution --> resources_and_memory_management_principles
280
+ rugged_software_constitution --> security_mandate
281
+ rugged_software_constitution --> testing_strategy
282
+ rule_priority --> architectural_pattern
283
+ rule_priority --> code_completion_mandate
284
+ rule_priority --> logging_and_observability_mandate
285
+ rule_priority --> rugged_software_constitution
286
+ rule_priority --> security_mandate
287
+ rust_idioms_and_patterns --> code_idioms_and_conventions
288
+ rust_idioms_and_patterns --> concurrency_and_threading_mandate
289
+ rust_idioms_and_patterns --> concurrency_and_threading_principles
290
+ rust_idioms_and_patterns --> dependency_management_principles
291
+ rust_idioms_and_patterns --> error_handling_principles
292
+ rust_idioms_and_patterns --> performance_optimization_principles
293
+ rust_idioms_and_patterns --> resources_and_memory_management_principles
294
+ rust_idioms_and_patterns --> security_mandate
295
+ rust_idioms_and_patterns --> testing_strategy
296
+ security_mandate --> security_principles
297
+ security_principles --> api_design_principles
298
+ security_principles --> command_execution_principles
299
+ security_principles --> configuration_management_principles
300
+ security_principles --> error_handling_principles
301
+ security_principles --> logging_and_observability_mandate
302
+ security_principles --> logging_and_observability_principles
303
+ testing_strategy --> architectural_pattern
304
+ testing_strategy --> error_handling_principles
305
+ testing_strategy --> project_structure
306
+ typescript_idioms_and_patterns --> code_idioms_and_conventions
307
+ typescript_idioms_and_patterns --> concurrency_and_threading_mandate
308
+ typescript_idioms_and_patterns --> dependency_management_principles
309
+ typescript_idioms_and_patterns --> error_handling_principles
310
+ typescript_idioms_and_patterns --> security_principles
311
+ typescript_idioms_and_patterns --> testing_strategy
312
+ typescript_idioms_and_patterns --> vue_idioms_and_patterns
313
+ vue_idioms_and_patterns --> architectural_pattern
314
+ vue_idioms_and_patterns --> code_idioms_and_conventions
315
+ vue_idioms_and_patterns --> logging_and_observability_principles
316
+ vue_idioms_and_patterns --> project_structure_vue_frontend
317
+ vue_idioms_and_patterns --> testing_strategy
318
+ vue_idioms_and_patterns --> typescript_idioms_and_patterns
319
+ ```
320
+
321
+ </details>
322
+
108
323
  ### Comprehensive Rule Suite
109
324
 
110
325
  The power of the setup comes from its extensive collection of rules covering every aspect of software engineering.
@@ -128,14 +343,22 @@ The power of the setup comes from its extensive collection of rules covering eve
128
343
  * **[API Design Principles](.agent/rules/api-design-principles.md)**: Creating clean, intuitive, and versionable APIs.
129
344
  * **[Architectural Pattern](.agent/rules/architectural-pattern.md)**: Testability-first design with I/O isolation.
130
345
  * **[Project Structure](.agent/rules/project-structure.md)**: Feature-based organization (the single source of truth for layout).
346
+ * **[Project Structure — Go Backend](.agent/rules/project-structure-go-backend.md)**: Go-specific directory layout.
347
+ * **[Project Structure — Vue Frontend](.agent/rules/project-structure-vue-frontend.md)**: Vue/React frontend layout.
348
+ * **[Project Structure — Flutter Mobile](.agent/rules/project-structure-flutter-mobile.md)**: Flutter/RN mobile app layout.
349
+ * **[Project Structure — Rust/Cargo](.agent/rules/project-structure-rust-cargo.md)**: Rust workspace and crate layout.
131
350
  * **[Database Design](.agent/rules/database-design-principles.md)**: Schema design, migrations, and query safety.
132
351
  * **[Data Serialization](.agent/rules/data-serialization-and-interchange-principles.md)**: Safe data handling and formats.
133
352
  * **[Command Execution](.agent/rules/command-execution-principles.md)**: Principles for running system commands securely.
134
- * **[Avoid Circular Dependencies](.agent/rules/avoid-circular-dependencies.md)**: Preventing module import cycles.
135
353
 
136
354
  #### 🧩 Maintainability & Quality
137
355
  * **[Code Organization](.agent/rules/code-organization-principles.md)**: Structuring projects for readability.
138
356
  * **[Code Idioms](.agent/rules/code-idioms-and-conventions.md)**: Following language-specific best practices.
357
+ * **[Go Idioms](.agent/rules/go-idioms-and-patterns.md)**: Go-specific patterns, error handling, concurrency, and tooling.
358
+ * **[TypeScript Idioms](.agent/rules/typescript-idioms-and-patterns.md)**: TypeScript type system, strict mode, async patterns.
359
+ * **[Vue Idioms](.agent/rules/vue-idioms-and-patterns.md)**: Vue 3 Composition API, Pinia stores, composables.
360
+ * **[Flutter Idioms](.agent/rules/flutter-idioms-and-patterns.md)**: Flutter/Dart, Riverpod state management, freezed models.
361
+ * **[Rust Idioms](.agent/rules/rust-idioms-and-patterns.md)**: Ownership, error handling, async with tokio, clippy.
139
362
  * **[Testing Strategy](.agent/rules/testing-strategy.md)**: Ensuring code is verifiable and tested.
140
363
  * **[Dependency Management](.agent/rules/dependency-management-principles.md)**: Managing external libraries safely.
141
364
  * **[Documentation Principles](.agent/rules/documentation-principles.md)**: Writing clear and helpful documentation.
@@ -193,7 +416,7 @@ Research → Implement (TDD) → Integrate → E2E (conditional) → Verify →
193
416
 
194
417
  ```
195
418
  .agent/
196
- ├── rules/ # 30 rules (mandates + principles)
419
+ ├── rules/ # 38 rules (mandates + principles + language idioms)
197
420
  │ ├── rugged-software-constitution.md
198
421
  │ ├── security-mandate.md
199
422
  │ ├── rule-priority.md
@@ -224,11 +447,24 @@ Research → Implement (TDD) → Integrate → E2E (conditional) → Verify →
224
447
 
225
448
  - [x] Include more specialized skills to aid development process (7 skills shipped).
226
449
  - [x] Add development workflows for structured feature delivery (10 workflows shipped).
227
- - [ ] Add more language-specific security rules (Python, Go, Rust).
450
+ - [x] Add language-specific idiom and pattern rules (Go, TypeScript, Vue, Flutter, Rust).
228
451
  - [x] Create a CLI tool for easier installation (`npx awesome-agv`).
229
452
  - [ ] Add automated validation scripts to check if an agent is following the constitution.
230
453
  - [x] Publish comprehensive documentation site (GitHub Pages).
231
454
 
455
+ ## Opinionated Technology Choices
456
+
457
+ Awesome AGV ships with **opinionated defaults** for specific technology stacks. Each stack has dedicated idiom files with patterns, tooling, and verification commands.
458
+
459
+ | Stack | Default Choice | Idiom File(s) |
460
+ | ------------ | --------------------------------------------------- | ----------------------------------------------------------------- |
461
+ | **Backend** | Go — vanilla stdlib, minimal deps | `go-idioms-and-patterns.md` |
462
+ | **Frontend** | TypeScript + Vue 3 — Composition API, Pinia, Vitest | `typescript-idioms-and-patterns.md`, `vue-idioms-and-patterns.md` |
463
+ | **Mobile** | Flutter + Riverpod — freezed models, go_router | `flutter-idioms-and-patterns.md` |
464
+ | **Systems** | Rust — tokio, thiserror/anyhow, clippy pedantic | `rust-idioms-and-patterns.md` |
465
+
466
+ **Using a different framework?** The idiom files are modular — swap or edit them to match your stack. See the [Adapting guide](https://irahardianto.github.io/awesome-agv/adapting) for which files to change.
467
+
232
468
  ## Project Adaptation Guide
233
469
 
234
470
  This setup supports different project structures:
@@ -241,7 +477,7 @@ This setup supports different project structures:
241
477
  | **Microservices** | Adapt `project-structure.md` per service, add service mesh rules |
242
478
  | **Mobile (Flutter/RN)** | Adapt frontend rules, add mobile-specific accessibility/testing |
243
479
 
244
- **To adapt:** Edit `project-structure.md` and `4-verify.md` to match your project layout.
480
+ **To adapt:** Edit `project-structure.md`, the relevant idiom file, and `4-verify.md` to match your project layout.
245
481
 
246
482
  <!-- CONTRIBUTING -->
247
483
  ## Contributing
@@ -91,7 +91,7 @@ ${color.bold}EXAMPLES${color.reset}
91
91
  npx awesome-agv --force
92
92
 
93
93
  ${color.bold}WHAT GETS INSTALLED${color.reset}
94
- ${icons.book} 30 Rules — Security, architecture, testing, DevOps standards
94
+ ${icons.book} 38 Rules — Security, architecture, language idioms, DevOps standards
95
95
  ${icons.tool} 7 Skills — Debugging, design, code review, and more
96
96
  ${icons.cycle} 10 Workflows — End-to-end development processes
97
97
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awesome-agv",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "1-click installer for Awesome AGV — a rugged, high-quality configuration suite for AI Agents.",
5
5
  "bin": {
6
6
  "awesome-agv": "./bin/awesome-agv.js"