awesome-agv 1.1.4 → 1.2.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 +98 -77
- package/bin/awesome-agv.js +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -32,11 +32,11 @@ You can drop this configuration into the context or custom rule settings of:
|
|
|
32
32
|
* **Claude Code**
|
|
33
33
|
* Any other agentic tool that supports custom system prompts or context loading.
|
|
34
34
|
|
|
35
|
-
For example, the principles of the [Rugged Software Constitution](.
|
|
35
|
+
For example, the principles of the [Rugged Software Constitution](.agents/rules/rugged-software-constitution.md) which is based on [Rugged Software Manifesto](https://ruggedsoftware.org/) are universal and will improve the output of any LLM-based coding assistant.
|
|
36
36
|
|
|
37
37
|
### Key Features
|
|
38
38
|
|
|
39
|
-
* 📏 **
|
|
39
|
+
* 📏 **42 Rules** — covering security, reliability, architecture, maintainability, language idioms, and DevOps.
|
|
40
40
|
* 🛠️ **7 Skills** — specialized capabilities for debugging, design, code review, and more.
|
|
41
41
|
* 🔄 **10 Workflows** — end-to-end development processes from research to ship.
|
|
42
42
|
* 🏗️ **Two-Tier Rule System** — always-on mandates + contextual principles for zero-noise enforcement.
|
|
@@ -60,15 +60,15 @@ To equip your AI agent with these superpowers, follow these steps.
|
|
|
60
60
|
npx awesome-agv
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
This downloads and installs the latest `.
|
|
63
|
+
This downloads and installs the latest `.agents/` directory into your current project. Your AI agent will automatically pick it up — no additional configuration needed.
|
|
64
64
|
|
|
65
65
|
**Options:**
|
|
66
66
|
|
|
67
67
|
| Flag | Description |
|
|
68
68
|
| -------------- | ---------------------------------------------- |
|
|
69
|
-
| `[target-dir]` | Directory to install into (default: `./`)
|
|
70
|
-
| `--force, -f` | Overwrite existing `.
|
|
71
|
-
| `--help, -h` | Show help
|
|
69
|
+
| `[target-dir]` | Directory to install into (default: `./`) |
|
|
70
|
+
| `--force, -f` | Overwrite existing `.agents/` without prompting |
|
|
71
|
+
| `--help, -h` | Show help |
|
|
72
72
|
|
|
73
73
|
### Examples
|
|
74
74
|
|
|
@@ -85,11 +85,11 @@ npx awesome-agv --force
|
|
|
85
85
|
|
|
86
86
|
**Manual Install:**
|
|
87
87
|
|
|
88
|
-
1. Clone this repository or copy the `.
|
|
88
|
+
1. Clone this repository or copy the `.agents` folder into the root of your project.
|
|
89
89
|
```sh
|
|
90
|
-
cp -r /path/to/awesome-agv/.
|
|
90
|
+
cp -r /path/to/awesome-agv/.agents ./your-project-root/
|
|
91
91
|
```
|
|
92
|
-
2. Ensure your AI agent is configured to read from the `.
|
|
92
|
+
2. Ensure your AI agent is configured to read from the `.agents` directory (most of well-known AI coding assistant are adhering to the `.agents` convention by default, no action needed) or manually ingest the `.agents/rules/**` as part of its system prompt.
|
|
93
93
|
|
|
94
94
|
<!-- USAGE -->
|
|
95
95
|
## Usage
|
|
@@ -105,7 +105,7 @@ The setup uses a **two-tier rule system** to minimize noise while maximizing cov
|
|
|
105
105
|
| **Mandates** | `always_on` | Non-negotiable constraints loaded in every session (security, logging, code completion). |
|
|
106
106
|
| **Principles** | `model_decision` | Contextual guidance activated only when working on relevant areas (e.g., database rules activate only when writing queries). |
|
|
107
107
|
|
|
108
|
-
Conflicts between rules are resolved by [Rule Priority](.
|
|
108
|
+
Conflicts between rules are resolved by [Rule Priority](.agents/rules/rule-priority.md) — security always wins.
|
|
109
109
|
|
|
110
110
|
### Rule Dependencies
|
|
111
111
|
|
|
@@ -154,6 +154,10 @@ graph TD
|
|
|
154
154
|
testing_strategy["testing-strategy.md"]
|
|
155
155
|
typescript_idioms_and_patterns["typescript-idioms-and-patterns.md"]
|
|
156
156
|
vue_idioms_and_patterns["vue-idioms-and-patterns.md"]
|
|
157
|
+
python_idioms_and_patterns["python-idioms-and-patterns.md"]
|
|
158
|
+
project_structure_python_backend["project-structure-python-backend.md"]
|
|
159
|
+
feature_flags_principles["feature-flags-principles.md"]
|
|
160
|
+
ci_cd_gitops_kubernetes["ci-cd-gitops-kubernetes.md"]
|
|
157
161
|
accessibility_principles --> core_design_principles
|
|
158
162
|
accessibility_principles --> security_principles
|
|
159
163
|
accessibility_principles --> testing_strategy
|
|
@@ -316,6 +320,18 @@ graph TD
|
|
|
316
320
|
vue_idioms_and_patterns --> project_structure_vue_frontend
|
|
317
321
|
vue_idioms_and_patterns --> testing_strategy
|
|
318
322
|
vue_idioms_and_patterns --> typescript_idioms_and_patterns
|
|
323
|
+
python_idioms_and_patterns --> code_idioms_and_conventions
|
|
324
|
+
python_idioms_and_patterns --> project_structure_python_backend
|
|
325
|
+
python_idioms_and_patterns --> testing_strategy
|
|
326
|
+
python_idioms_and_patterns --> error_handling_principles
|
|
327
|
+
python_idioms_and_patterns --> concurrency_and_threading_mandate
|
|
328
|
+
python_idioms_and_patterns --> logging_and_observability_principles
|
|
329
|
+
python_idioms_and_patterns --> security_principles
|
|
330
|
+
python_idioms_and_patterns --> dependency_management_principles
|
|
331
|
+
project_structure_python_backend --> project_structure
|
|
332
|
+
project_structure_python_backend --> python_idioms_and_patterns
|
|
333
|
+
code_idioms_and_conventions --> python_idioms_and_patterns
|
|
334
|
+
code_completion_mandate --> python_idioms_and_patterns
|
|
319
335
|
```
|
|
320
336
|
|
|
321
337
|
</details>
|
|
@@ -325,62 +341,66 @@ graph TD
|
|
|
325
341
|
The power of the setup comes from its extensive collection of rules covering every aspect of software engineering.
|
|
326
342
|
|
|
327
343
|
#### 🛡️ Security & Integrity
|
|
328
|
-
* **[Rugged Software Constitution](.
|
|
329
|
-
* **[Security Mandate](.
|
|
330
|
-
* **[Security Principles](.
|
|
344
|
+
* **[Rugged Software Constitution](.agents/rules/rugged-software-constitution.md)**: The core philosophy of defensible coding.
|
|
345
|
+
* **[Security Mandate](.agents/rules/security-mandate.md)**: Non-negotiable security requirements.
|
|
346
|
+
* **[Security Principles](.agents/rules/security-principles.md)**: Best practices for secure design.
|
|
331
347
|
|
|
332
348
|
#### ⚡ Reliability & Performance
|
|
333
|
-
* **[Error Handling Principles](.
|
|
334
|
-
* **[Concurrency & Threading](.
|
|
335
|
-
* **[Concurrency & Threading Mandate](.
|
|
336
|
-
* **[Performance Optimization](.
|
|
337
|
-
* **[Resource Management](.
|
|
338
|
-
* **[Monitoring & Alerting](.
|
|
339
|
-
* **[Configuration Management](.
|
|
349
|
+
* **[Error Handling Principles](.agents/rules/error-handling-principles.md)**: Techniques for robust error management.
|
|
350
|
+
* **[Concurrency & Threading](.agents/rules/concurrency-and-threading-principles.md)**: Safe parallel execution and deadlock prevention.
|
|
351
|
+
* **[Concurrency & Threading Mandate](.agents/rules/concurrency-and-threading-mandate.md)**: When to use (and not use) concurrency.
|
|
352
|
+
* **[Performance Optimization](.agents/rules/performance-optimization-principles.md)**: Writing efficient and scalable code.
|
|
353
|
+
* **[Resource Management](.agents/rules/resources-and-memory-management-principles.md)**: Handling memory and system resources responsibly.
|
|
354
|
+
* **[Monitoring & Alerting](.agents/rules/monitoring-and-alerting-principles.md)**: Health checks, metrics, and graceful degradation.
|
|
355
|
+
* **[Configuration Management](.agents/rules/configuration-management-principles.md)**: Environment variables, secrets, and config hierarchy.
|
|
340
356
|
|
|
341
357
|
#### 🏗️ Architecture & Design
|
|
342
|
-
* **[Core Design Principles](.
|
|
343
|
-
* **[API Design Principles](.
|
|
344
|
-
* **[Architectural Pattern](.
|
|
345
|
-
* **[Project Structure](.
|
|
346
|
-
* **[Project Structure — Go Backend](.
|
|
347
|
-
* **[Project Structure — Vue Frontend](.
|
|
348
|
-
* **[Project Structure — Flutter Mobile](.
|
|
349
|
-
* **[Project Structure — Rust/Cargo](.
|
|
350
|
-
* **[
|
|
351
|
-
* **[
|
|
352
|
-
* **[
|
|
358
|
+
* **[Core Design Principles](.agents/rules/core-design-principles.md)**: Fundamental software design rules (SOLID, DRY, etc.).
|
|
359
|
+
* **[API Design Principles](.agents/rules/api-design-principles.md)**: Creating clean, intuitive, and versionable APIs.
|
|
360
|
+
* **[Architectural Pattern](.agents/rules/architectural-pattern.md)**: Testability-first design with I/O isolation.
|
|
361
|
+
* **[Project Structure](.agents/rules/project-structure.md)**: Feature-based organization (the single source of truth for layout).
|
|
362
|
+
* **[Project Structure — Go Backend](.agents/rules/project-structure-go-backend.md)**: Go-specific directory layout.
|
|
363
|
+
* **[Project Structure — Vue Frontend](.agents/rules/project-structure-vue-frontend.md)**: Vue/React frontend layout.
|
|
364
|
+
* **[Project Structure — Flutter Mobile](.agents/rules/project-structure-flutter-mobile.md)**: Flutter/RN mobile app layout.
|
|
365
|
+
* **[Project Structure — Rust/Cargo](.agents/rules/project-structure-rust-cargo.md)**: Rust workspace and crate layout.
|
|
366
|
+
* **[Project Structure — Python Backend](.agents/rules/project-structure-python-backend.md)**: Python service and API layout.
|
|
367
|
+
* **[Database Design](.agents/rules/database-design-principles.md)**: Schema design, migrations, and query safety.
|
|
368
|
+
* **[Data Serialization](.agents/rules/data-serialization-and-interchange-principles.md)**: Safe data handling and formats.
|
|
369
|
+
* **[Command Execution](.agents/rules/command-execution-principles.md)**: Principles for running system commands securely.
|
|
353
370
|
|
|
354
371
|
#### 🧩 Maintainability & Quality
|
|
355
|
-
* **[Code Organization](.
|
|
356
|
-
* **[Code Idioms](.
|
|
357
|
-
* **[Go Idioms](.
|
|
358
|
-
* **[TypeScript Idioms](.
|
|
359
|
-
* **[Vue Idioms](.
|
|
360
|
-
* **[Flutter Idioms](.
|
|
361
|
-
* **[Rust Idioms](.
|
|
362
|
-
* **[
|
|
363
|
-
* **[
|
|
364
|
-
* **[
|
|
365
|
-
* **[
|
|
366
|
-
* **[Logging & Observability
|
|
367
|
-
* **[
|
|
368
|
-
* **[
|
|
372
|
+
* **[Code Organization](.agents/rules/code-organization-principles.md)**: Structuring projects for readability.
|
|
373
|
+
* **[Code Idioms](.agents/rules/code-idioms-and-conventions.md)**: Following language-specific best practices.
|
|
374
|
+
* **[Go Idioms](.agents/rules/go-idioms-and-patterns.md)**: Go-specific patterns, error handling, concurrency, and tooling.
|
|
375
|
+
* **[TypeScript Idioms](.agents/rules/typescript-idioms-and-patterns.md)**: TypeScript type system, strict mode, async patterns.
|
|
376
|
+
* **[Vue Idioms](.agents/rules/vue-idioms-and-patterns.md)**: Vue 3 Composition API, Pinia stores, composables.
|
|
377
|
+
* **[Flutter Idioms](.agents/rules/flutter-idioms-and-patterns.md)**: Flutter/Dart, Riverpod state management, freezed models.
|
|
378
|
+
* **[Rust Idioms](.agents/rules/rust-idioms-and-patterns.md)**: Ownership, error handling, async with tokio, clippy.
|
|
379
|
+
* **[Python Idioms](.agents/rules/python-idioms-and-patterns.md)**: Type hints, Protocols, pytest, ruff/mypy tooling.
|
|
380
|
+
* **[Testing Strategy](.agents/rules/testing-strategy.md)**: Ensuring code is verifiable and tested.
|
|
381
|
+
* **[Dependency Management](.agents/rules/dependency-management-principles.md)**: Managing external libraries safely.
|
|
382
|
+
* **[Documentation Principles](.agents/rules/documentation-principles.md)**: Writing clear and helpful documentation.
|
|
383
|
+
* **[Logging & Observability](.agents/rules/logging-and-observability-principles.md)**: Ensuring system visibility.
|
|
384
|
+
* **[Logging & Observability Mandate](.agents/rules/logging-and-observability-mandate.md)**: All operations must be logged — no exceptions.
|
|
385
|
+
* **[Accessibility Principles](.agents/rules/accessibility-principles.md)**: WCAG 2.1 AA compliance for UIs.
|
|
386
|
+
* **[Git Workflow](.agents/rules/git-workflow-principles.md)**: Conventional commits, branch naming, and PR hygiene.
|
|
369
387
|
|
|
370
388
|
#### 🔄 DevOps & Operations
|
|
371
|
-
* **[CI/CD Principles](.
|
|
372
|
-
* **[
|
|
373
|
-
* **[
|
|
389
|
+
* **[CI/CD Principles](.agents/rules/ci-cd-principles.md)**: Pipeline design, Docker, and GitHub Actions.
|
|
390
|
+
* **[CI/CD GitOps Kubernetes](.agents/rules/ci-cd-gitops-kubernetes.md)**: ArgoCD, Kubernetes deployment patterns (PRD-gated).
|
|
391
|
+
* **[Feature Flags Principles](.agents/rules/feature-flags-principles.md)**: Flag types, lifecycle, and rollout strategies (PRD-gated).
|
|
392
|
+
* **[Code Completion Mandate](.agents/rules/code-completion-mandate.md)**: Automated quality checks before every delivery.
|
|
393
|
+
* **[Rule Priority](.agents/rules/rule-priority.md)**: Conflict resolution when rules contradict each other.
|
|
374
394
|
|
|
375
395
|
### Specialized Skills
|
|
376
396
|
|
|
377
|
-
* **[Debugging Protocol](.
|
|
378
|
-
* **[Frontend Design](.
|
|
379
|
-
* **[Mobile Design](.
|
|
380
|
-
* **[Sequential Thinking](.
|
|
381
|
-
* **[Code Review](.
|
|
382
|
-
* **[Guardrails](.
|
|
383
|
-
* **[ADR (Architecture Decision Records)](.
|
|
397
|
+
* **[Debugging Protocol](.agents/skills/debugging-protocol/SKILL.md)**: Systematic approach to solving errors.
|
|
398
|
+
* **[Frontend Design](.agents/skills/frontend-design/SKILL.md)**: Guidelines for creating visually appealing UIs, based on [Anthropic Frontend-Design Skills](https://github.com/anthropics/skills/tree/main/skills/frontend-design)
|
|
399
|
+
* **[Mobile Design](.agents/skills/mobile-design/SKILL.md)**: Production-grade mobile interfaces for Flutter and React Native.
|
|
400
|
+
* **[Sequential Thinking](.agents/skills/sequential-thinking/SKILL.md)**: A tool for breaking down complex problems, an adaptation from [Sequential Thinking MCP Server](https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking)
|
|
401
|
+
* **[Code Review](.agents/skills/code-review/SKILL.md)**: Structured code review protocol against the full rule set.
|
|
402
|
+
* **[Guardrails](.agents/skills/guardrails/SKILL.md)**: Pre-flight checklist and post-implementation self-review.
|
|
403
|
+
* **[ADR (Architecture Decision Records)](.agents/skills/adr/SKILL.md)**: Document significant architectural decisions with context and trade-offs.
|
|
384
404
|
|
|
385
405
|
### Development Workflows
|
|
386
406
|
|
|
@@ -394,29 +414,29 @@ The primary workflow for building features. Phases execute sequentially — **no
|
|
|
394
414
|
Research → Implement (TDD) → Integrate → E2E (conditional) → Verify → Ship
|
|
395
415
|
```
|
|
396
416
|
|
|
397
|
-
| Phase | Workflow
|
|
398
|
-
| ------------ |
|
|
399
|
-
| 1. Research | [`/1-research`](.
|
|
400
|
-
| 2. Implement | [`/2-implement`](.
|
|
401
|
-
| 3. Integrate | [`/3-integrate`](.
|
|
402
|
-
| 3.5. E2E | [`/e2e-test`](.
|
|
403
|
-
| 4. Verify | [`/4-verify`](.
|
|
404
|
-
| 5. Ship | [`/5-commit`](.
|
|
417
|
+
| Phase | Workflow | Purpose |
|
|
418
|
+
| ------------ | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
419
|
+
| 1. Research | [`/1-research`](.agents/workflows/1-research.md) | Understand context, search docs, create ADRs, uses [Qurio](https://github.com/irahardianto/qurio) default to web search |
|
|
420
|
+
| 2. Implement | [`/2-implement`](.agents/workflows/2-implement.md) | TDD cycle: Red → Green → Refactor |
|
|
421
|
+
| 3. Integrate | [`/3-integrate`](.agents/workflows/3-integrate.md) | Integration tests with Testcontainers |
|
|
422
|
+
| 3.5. E2E | [`/e2e-test`](.agents/workflows/e2e-test.md) | End-to-end validation with Playwright |
|
|
423
|
+
| 4. Verify | [`/4-verify`](.agents/workflows/4-verify.md) | Full lint, test, and build validation |
|
|
424
|
+
| 5. Ship | [`/5-commit`](.agents/workflows/5-commit.md) | Git commit with conventional format |
|
|
405
425
|
|
|
406
426
|
#### 🔧 Specialized Workflows
|
|
407
427
|
|
|
408
|
-
| Workflow
|
|
409
|
-
|
|
|
410
|
-
| [`/quick-fix`](.
|
|
411
|
-
| [`/refactor`](.
|
|
412
|
-
| [`/audit`](.
|
|
428
|
+
| Workflow | When to Use |
|
|
429
|
+
| ----------------------------------------------- | ---------------------------------------------------- |
|
|
430
|
+
| [`/quick-fix`](.agents/workflows/quick-fix.md) | Bug fixes with known root cause (<50 lines) |
|
|
431
|
+
| [`/refactor`](.agents/workflows/refactor.md) | Safely restructure code while preserving behavior |
|
|
432
|
+
| [`/audit`](.agents/workflows/audit.md) | Code review and quality inspection (no new features) |
|
|
413
433
|
|
|
414
434
|
<!-- DIRECTORY STRUCTURE -->
|
|
415
435
|
## Directory Structure
|
|
416
436
|
|
|
417
437
|
```
|
|
418
|
-
.
|
|
419
|
-
├── rules/ #
|
|
438
|
+
.agents/
|
|
439
|
+
├── rules/ # 42 rules (mandates + principles + language idioms)
|
|
420
440
|
│ ├── rugged-software-constitution.md
|
|
421
441
|
│ ├── security-mandate.md
|
|
422
442
|
│ ├── rule-priority.md
|
|
@@ -447,7 +467,7 @@ Research → Implement (TDD) → Integrate → E2E (conditional) → Verify →
|
|
|
447
467
|
|
|
448
468
|
- [x] Include more specialized skills to aid development process (7 skills shipped).
|
|
449
469
|
- [x] Add development workflows for structured feature delivery (10 workflows shipped).
|
|
450
|
-
- [x] Add language-specific idiom and pattern rules (Go, TypeScript, Vue, Flutter, Rust).
|
|
470
|
+
- [x] Add language-specific idiom and pattern rules (Go, TypeScript, Vue, Flutter, Rust, Python).
|
|
451
471
|
- [x] Create a CLI tool for easier installation (`npx awesome-agv`).
|
|
452
472
|
- [ ] Add automated validation scripts to check if an agent is following the constitution.
|
|
453
473
|
- [x] Publish comprehensive documentation site (GitHub Pages).
|
|
@@ -456,12 +476,13 @@ Research → Implement (TDD) → Integrate → E2E (conditional) → Verify →
|
|
|
456
476
|
|
|
457
477
|
Awesome AGV ships with **opinionated defaults** for specific technology stacks. Each stack has dedicated idiom files with patterns, tooling, and verification commands.
|
|
458
478
|
|
|
459
|
-
| Stack
|
|
460
|
-
|
|
|
461
|
-
| **Backend**
|
|
462
|
-
| **Frontend**
|
|
463
|
-
| **Mobile**
|
|
464
|
-
| **Systems**
|
|
479
|
+
| Stack | Default Choice | Idiom File(s) |
|
|
480
|
+
| ---------------- | --------------------------------------------------- | ----------------------------------------------------------------- |
|
|
481
|
+
| **Backend** | Go — vanilla stdlib, minimal deps | `go-idioms-and-patterns.md` |
|
|
482
|
+
| **Frontend** | TypeScript + Vue 3 — Composition API, Pinia, Vitest | `typescript-idioms-and-patterns.md`, `vue-idioms-and-patterns.md` |
|
|
483
|
+
| **Mobile** | Flutter + Riverpod — freezed models, go_router | `flutter-idioms-and-patterns.md` |
|
|
484
|
+
| **Systems** | Rust — tokio, thiserror/anyhow, clippy pedantic | `rust-idioms-and-patterns.md` |
|
|
485
|
+
| **Scripting/AI** | Python — ruff, mypy strict, pytest, Pydantic | `python-idioms-and-patterns.md` |
|
|
465
486
|
|
|
466
487
|
**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
488
|
|
package/bin/awesome-agv.js
CHANGED
|
@@ -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}
|
|
94
|
+
${icons.book} 42 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
|
|
|
@@ -153,10 +153,10 @@ function downloadToFile(url, destPath, maxRedirects = 5) {
|
|
|
153
153
|
});
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
-
// ── Extract .
|
|
156
|
+
// ── Extract .agents directory from tarball ──────────────────────────────────────
|
|
157
157
|
function extractAgentDir(tarballPath, targetDir) {
|
|
158
158
|
// The tarball from GitHub has a root directory like: awesome-agv-main/
|
|
159
|
-
// We need to extract awesome-agv-main/.
|
|
159
|
+
// We need to extract awesome-agv-main/.agents/ → targetDir/.agents/
|
|
160
160
|
const stripPrefix = `${REPO_NAME}-${BRANCH}/${AGENT_DIR}`;
|
|
161
161
|
|
|
162
162
|
const agentTargetDir = path.join(targetDir, AGENT_DIR);
|