antigravity-flow 1.0.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 +182 -0
- package/dist/bin/ag-flow.js +127 -0
- package/dist/src/adapters/ConsoleLoggerAdapter.js +52 -0
- package/dist/src/adapters/EjsTemplateAdapter.js +66 -0
- package/dist/src/adapters/JsonLocalizationAdapter.js +81 -0
- package/dist/src/adapters/NodeFileSystemAdapter.js +52 -0
- package/dist/src/adapters/index.js +20 -0
- package/dist/src/commands/guide.js +89 -0
- package/dist/src/commands/index.js +19 -0
- package/dist/src/commands/init.js +581 -0
- package/dist/src/commands/templates.js +143 -0
- package/dist/src/core/ConfigService.js +75 -0
- package/dist/src/core/ContextGenerator.js +27 -0
- package/dist/src/core/DockerfileGenerator.js +151 -0
- package/dist/src/core/GitignoreGenerator.js +129 -0
- package/dist/src/core/PipelineGenerator.js +68 -0
- package/dist/src/core/RulesComposer.js +62 -0
- package/dist/src/core/StackDetector.js +115 -0
- package/dist/src/core/WorkflowGenerator.js +137 -0
- package/dist/src/core/index.js +26 -0
- package/dist/src/core/interfaces.js +2 -0
- package/dist/src/core/pipelines/PipelineStrategy.js +97 -0
- package/dist/src/core/types.js +300 -0
- package/dist/src/locales/en.json +293 -0
- package/dist/src/locales/fr.json +293 -0
- package/dist/src/templates/docker/django.Dockerfile.ejs +21 -0
- package/dist/src/templates/docker/dockerignore.ejs +12 -0
- package/dist/src/templates/docker/go.Dockerfile.ejs +20 -0
- package/dist/src/templates/docker/nestjs.Dockerfile.ejs +25 -0
- package/dist/src/templates/docker/node.Dockerfile.ejs +13 -0
- package/dist/src/templates/docker/python.Dockerfile.ejs +13 -0
- package/dist/src/templates/docker/springboot.Dockerfile.ejs +25 -0
- package/dist/src/templates/en/architect.md.ejs +85 -0
- package/dist/src/templates/en/ba.md.ejs +88 -0
- package/dist/src/templates/en/data.md.ejs +47 -0
- package/dist/src/templates/en/dev.md.ejs +77 -0
- package/dist/src/templates/en/devops.md.ejs +54 -0
- package/dist/src/templates/en/fragments/arch/feature-sliced.md.ejs +12 -0
- package/dist/src/templates/en/fragments/arch/hexagonal.md.ejs +14 -0
- package/dist/src/templates/en/fragments/arch/mvc.md.ejs +11 -0
- package/dist/src/templates/en/fragments/aspnet-core.md.ejs +11 -0
- package/dist/src/templates/en/fragments/base-rules.md.ejs +5 -0
- package/dist/src/templates/en/fragments/django.md.ejs +12 -0
- package/dist/src/templates/en/fragments/fastapi.md.ejs +11 -0
- package/dist/src/templates/en/fragments/flutter.md.ejs +11 -0
- package/dist/src/templates/en/fragments/nestjs.md.ejs +5 -0
- package/dist/src/templates/en/fragments/nextjs.md.ejs +10 -0
- package/dist/src/templates/en/fragments/react-native.md.ejs +12 -0
- package/dist/src/templates/en/fragments/react.md.ejs +5 -0
- package/dist/src/templates/en/fragments/rigor/legacy.md.ejs +6 -0
- package/dist/src/templates/en/fragments/rigor/prototype.md.ejs +6 -0
- package/dist/src/templates/en/fragments/rigor/strict.md.ejs +7 -0
- package/dist/src/templates/en/fragments/rust.md.ejs +11 -0
- package/dist/src/templates/en/fragments/scrypto.md.ejs +8 -0
- package/dist/src/templates/en/fragments/solidity.md.ejs +20 -0
- package/dist/src/templates/en/fragments/spring-boot.md.ejs +13 -0
- package/dist/src/templates/en/guide.txt +48 -0
- package/dist/src/templates/en/lead.md.ejs +76 -0
- package/dist/src/templates/en/pipelines/github-dotnet.yml.ejs +24 -0
- package/dist/src/templates/en/pipelines/github-flutter.yml.ejs +24 -0
- package/dist/src/templates/en/pipelines/github-nestjs.yml.ejs +26 -0
- package/dist/src/templates/en/pipelines/github-react.yml.ejs +26 -0
- package/dist/src/templates/en/pipelines/github-rust.yml.ejs +38 -0
- package/dist/src/templates/en/pipelines/github-scrypto.yml.ejs +34 -0
- package/dist/src/templates/en/po.md.ejs +86 -0
- package/dist/src/templates/en/project-context.md.ejs +26 -0
- package/dist/src/templates/en/qa.md.ejs +103 -0
- package/dist/src/templates/en/rules.md.ejs +30 -0
- package/dist/src/templates/en/security.md.ejs +55 -0
- package/dist/src/templates/en/techwriter.md.ejs +46 -0
- package/dist/src/templates/fr/architect.md.ejs +15 -0
- package/dist/src/templates/fr/ba.md.ejs +11 -0
- package/dist/src/templates/fr/data.md.ejs +47 -0
- package/dist/src/templates/fr/dev.md.ejs +11 -0
- package/dist/src/templates/fr/devops.md.ejs +54 -0
- package/dist/src/templates/fr/fragments/arch/feature-sliced.md.ejs +12 -0
- package/dist/src/templates/fr/fragments/arch/hexagonal.md.ejs +14 -0
- package/dist/src/templates/fr/fragments/arch/mvc.md.ejs +11 -0
- package/dist/src/templates/fr/fragments/aspnet-core.md.ejs +11 -0
- package/dist/src/templates/fr/fragments/flutter.md.ejs +11 -0
- package/dist/src/templates/fr/fragments/rigor/legacy.md.ejs +6 -0
- package/dist/src/templates/fr/fragments/rigor/prototype.md.ejs +6 -0
- package/dist/src/templates/fr/fragments/rigor/strict.md.ejs +7 -0
- package/dist/src/templates/fr/fragments/rust.md.ejs +10 -0
- package/dist/src/templates/fr/fragments/scrypto.md.ejs +8 -0
- package/dist/src/templates/fr/guide.txt +47 -0
- package/dist/src/templates/fr/lead.md.ejs +12 -0
- package/dist/src/templates/fr/po.md.ejs +11 -0
- package/dist/src/templates/fr/project-context.md.ejs +28 -0
- package/dist/src/templates/fr/qa.md.ejs +14 -0
- package/dist/src/templates/fr/rules.md.ejs +30 -0
- package/dist/src/templates/fr/security.md.ejs +55 -0
- package/dist/src/templates/fr/techwriter.md.ejs +46 -0
- package/dist/src/templates/gitignore/dotnet.txt +6 -0
- package/dist/src/templates/gitignore/go.txt +15 -0
- package/dist/src/templates/gitignore/java.txt +4 -0
- package/dist/src/templates/gitignore/jetbrains.txt +4 -0
- package/dist/src/templates/gitignore/linux.txt +5 -0
- package/dist/src/templates/gitignore/macos.txt +3 -0
- package/dist/src/templates/gitignore/node.txt +11 -0
- package/dist/src/templates/gitignore/python.txt +10 -0
- package/dist/src/templates/gitignore/rust.txt +3 -0
- package/dist/src/templates/gitignore/solidity.txt +19 -0
- package/dist/src/templates/gitignore/vscode.txt +6 -0
- package/dist/src/templates/gitignore/windows.txt +4 -0
- package/dist/tests/commands/InitCommand.spec.js +529 -0
- package/dist/tests/commands/InitConfig.spec.js +108 -0
- package/dist/tests/core/ConfigService.spec.js +97 -0
- package/dist/tests/core/ContextGenerator.spec.js +51 -0
- package/dist/tests/core/PipelineGenerator.spec.js +206 -0
- package/dist/tests/core/RulesComposer.spec.js +89 -0
- package/dist/tests/core/StackDetector.spec.js +69 -0
- package/dist/tests/core/Types.spec.js +243 -0
- package/dist/tests/core/WorkflowGenerator.spec.js +99 -0
- package/package.json +55 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Product Owner Workflow
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
1. **Backlog Management**:
|
|
6
|
+
- Maintain a prioritized product backlog.
|
|
7
|
+
- Refine backlog items with the team.
|
|
8
|
+
- Ensure items are sized and ready for sprint.
|
|
9
|
+
- Remove or archive stale items regularly.
|
|
10
|
+
|
|
11
|
+
2. **User Stories** (INVEST Criteria):
|
|
12
|
+
- **I**ndependent: Minimize dependencies between stories.
|
|
13
|
+
- **N**egotiable: Leave room for discussion.
|
|
14
|
+
- **V**aluable: Deliver value to users or business.
|
|
15
|
+
- **E**stimable: Team can estimate effort.
|
|
16
|
+
- **S**mall: Fits within a sprint.
|
|
17
|
+
- **T**estable: Clear acceptance criteria.
|
|
18
|
+
|
|
19
|
+
3. **Acceptance Criteria**:
|
|
20
|
+
- Define clear, testable acceptance criteria.
|
|
21
|
+
- Use Given/When/Then format when applicable.
|
|
22
|
+
- Include edge cases and error scenarios.
|
|
23
|
+
- Validate with stakeholders before development.
|
|
24
|
+
|
|
25
|
+
4. **Definition of Ready (DoR)**:
|
|
26
|
+
- [ ] User story is clearly written
|
|
27
|
+
- [ ] Acceptance criteria are defined
|
|
28
|
+
- [ ] Dependencies are identified
|
|
29
|
+
- [ ] Story is estimated
|
|
30
|
+
- [ ] UI/UX designs are available (if needed)
|
|
31
|
+
- [ ] Technical feasibility is confirmed
|
|
32
|
+
|
|
33
|
+
5. **Definition of Done (DoD)**:
|
|
34
|
+
- [ ] Code is written and reviewed
|
|
35
|
+
- [ ] Tests are passing
|
|
36
|
+
- [ ] Documentation is updated
|
|
37
|
+
- [ ] Feature is deployed to staging
|
|
38
|
+
- [ ] PO has validated acceptance criteria
|
|
39
|
+
- [ ] No critical bugs remain
|
|
40
|
+
|
|
41
|
+
6. **Requirements Clarification**:
|
|
42
|
+
- Answer functional questions from the team.
|
|
43
|
+
- Provide context on business rules.
|
|
44
|
+
- Clarify edge cases and priorities.
|
|
45
|
+
- Be available during sprint for questions.
|
|
46
|
+
|
|
47
|
+
7. **Sprint Ceremonies**:
|
|
48
|
+
- Participate in sprint planning.
|
|
49
|
+
- Lead sprint demos/reviews.
|
|
50
|
+
- Provide feedback on delivered features.
|
|
51
|
+
- Help resolve blockers affecting delivery.
|
|
52
|
+
|
|
53
|
+
8. **Roadmap Alignment**:
|
|
54
|
+
- Align sprint goals with product roadmap.
|
|
55
|
+
- Communicate priorities to stakeholders.
|
|
56
|
+
- Adjust plans based on feedback and data.
|
|
57
|
+
- Balance new features vs. tech debt.
|
|
58
|
+
|
|
59
|
+
9. **Impact Mapping**:
|
|
60
|
+
- Define goals: Why are we doing this?
|
|
61
|
+
- Identify actors: Who benefits?
|
|
62
|
+
- Define impacts: What behavior change do we want?
|
|
63
|
+
- Map deliverables: What can we build?
|
|
64
|
+
|
|
65
|
+
10. **User Journey Mapping**:
|
|
66
|
+
- Document user personas and their goals.
|
|
67
|
+
- Map key user journeys end-to-end.
|
|
68
|
+
- Identify pain points and opportunities.
|
|
69
|
+
- Prioritize improvements based on impact.
|
|
70
|
+
|
|
71
|
+
11. **Stakeholder Communication**:
|
|
72
|
+
- Provide regular status updates.
|
|
73
|
+
- Gather and incorporate feedback.
|
|
74
|
+
- Manage expectations on timelines.
|
|
75
|
+
- Escalate risks and blockers early.
|
|
76
|
+
|
|
77
|
+
## User Story Template
|
|
78
|
+
```
|
|
79
|
+
As a [user type],
|
|
80
|
+
I want to [action],
|
|
81
|
+
So that [benefit].
|
|
82
|
+
|
|
83
|
+
Acceptance Criteria:
|
|
84
|
+
- Given [context], when [action], then [result]
|
|
85
|
+
- ...
|
|
86
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Project Context
|
|
2
|
+
|
|
3
|
+
## Project Vision
|
|
4
|
+
<%= projectDescription %>
|
|
5
|
+
|
|
6
|
+
## Technical Stack
|
|
7
|
+
- **Stack**: <%= techStack %>
|
|
8
|
+
-## 🏗️ Architecture
|
|
9
|
+
**Pattern**: <%= architecture %>
|
|
10
|
+
<% if (isMonorepo) { %>
|
|
11
|
+
**Monorepo**: Yes
|
|
12
|
+
**Apps**:
|
|
13
|
+
<% apps.forEach(function(app) { %>
|
|
14
|
+
- <%= app %>
|
|
15
|
+
<% }); %>
|
|
16
|
+
<% } else { %>
|
|
17
|
+
**Monorepo**: No
|
|
18
|
+
<% } %>
|
|
19
|
+
|
|
20
|
+
## 🛠️ Build & Test
|
|
21
|
+
Commands
|
|
22
|
+
- **Build**: `<%= buildCommand %>`
|
|
23
|
+
- **Test**: `<%= testCommand %>`
|
|
24
|
+
|
|
25
|
+
## Conventions
|
|
26
|
+
Please refer to `.agent/rules/coding-standards.md` for detailed coding rules.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: QA & Testing Workflow
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
1. **Test Planning**:
|
|
6
|
+
- Review requirements, specs, and acceptance criteria.
|
|
7
|
+
- Identify test cases (nominal, edge cases, error handling).
|
|
8
|
+
- Create test matrices for complex features.
|
|
9
|
+
- Estimate testing effort and timelines.
|
|
10
|
+
|
|
11
|
+
2. **Test Data Management**:
|
|
12
|
+
- Create reusable test fixtures and factories.
|
|
13
|
+
- Use realistic but anonymized data.
|
|
14
|
+
- Implement data seeding scripts for consistent test environments.
|
|
15
|
+
- Clean up test data after each test run.
|
|
16
|
+
|
|
17
|
+
3. **Unit Testing**:
|
|
18
|
+
- Test individual functions and classes in isolation.
|
|
19
|
+
- Mock external dependencies (databases, APIs).
|
|
20
|
+
- Aim for high coverage on business logic.
|
|
21
|
+
- Use `<%= testCommand %>` to execute tests.
|
|
22
|
+
|
|
23
|
+
4. **Integration Testing**:
|
|
24
|
+
- Test interactions between components.
|
|
25
|
+
- Use test containers for database tests.
|
|
26
|
+
- Verify API contracts and data flows.
|
|
27
|
+
- Test error handling and recovery.
|
|
28
|
+
|
|
29
|
+
5. **E2E Testing**:
|
|
30
|
+
- Test complete user journeys.
|
|
31
|
+
- Use Playwright, Cypress, or similar for browser tests.
|
|
32
|
+
- Maintain stable selectors and test IDs.
|
|
33
|
+
- Run E2E tests in CI before deployment.
|
|
34
|
+
|
|
35
|
+
6. **Mocking Strategies**:
|
|
36
|
+
- Use MSW (Mock Service Worker) for API mocking.
|
|
37
|
+
- Use test containers for database integration tests.
|
|
38
|
+
- Mock time-dependent functions for deterministic tests.
|
|
39
|
+
- Document mock behavior expectations.
|
|
40
|
+
|
|
41
|
+
7. **Accessibility Testing (a11y)**:
|
|
42
|
+
- Verify keyboard navigation.
|
|
43
|
+
- Check screen reader compatibility.
|
|
44
|
+
- Validate color contrast ratios.
|
|
45
|
+
- Use automated tools (axe, WAVE, Lighthouse).
|
|
46
|
+
|
|
47
|
+
8. **Performance Testing**:
|
|
48
|
+
- Establish performance baselines.
|
|
49
|
+
- Test response times under load.
|
|
50
|
+
- Monitor memory and CPU usage.
|
|
51
|
+
- Identify and fix N+1 queries.
|
|
52
|
+
|
|
53
|
+
9. **Security Testing**:
|
|
54
|
+
- Test authentication and authorization flows.
|
|
55
|
+
- Verify input validation and sanitization.
|
|
56
|
+
- Check for OWASP Top 10 vulnerabilities.
|
|
57
|
+
- Test rate limiting and abuse prevention.
|
|
58
|
+
|
|
59
|
+
10. **Visual Regression Testing**:
|
|
60
|
+
- Capture screenshots of UI components.
|
|
61
|
+
- Compare against baseline images.
|
|
62
|
+
- Review and approve intentional changes.
|
|
63
|
+
- Use tools like Percy, Chromatic, or Playwright.
|
|
64
|
+
|
|
65
|
+
11. **Bug Reporting**:
|
|
66
|
+
- Document bugs clearly with reproduction steps.
|
|
67
|
+
- Include environment details and logs.
|
|
68
|
+
- Assign severity and priority.
|
|
69
|
+
- Create a fix or assign to a Developer.
|
|
70
|
+
|
|
71
|
+
12. **Regression Testing**:
|
|
72
|
+
- Ensure new changes didn't break existing functionality.
|
|
73
|
+
- Run full test suite before releases.
|
|
74
|
+
- Prioritize critical path tests.
|
|
75
|
+
|
|
76
|
+
13. **Sign-off**:
|
|
77
|
+
- Validate the feature matches requirements.
|
|
78
|
+
- Confirm all test cases pass.
|
|
79
|
+
- Update test documentation.
|
|
80
|
+
- Approve for release.
|
|
81
|
+
|
|
82
|
+
## Coverage Targets
|
|
83
|
+
| Type | Target |
|
|
84
|
+
|------|--------|
|
|
85
|
+
| Unit Tests | 80%+ |
|
|
86
|
+
| Integration Tests | Critical paths |
|
|
87
|
+
| E2E Tests | Happy paths |
|
|
88
|
+
| a11y | WCAG 2.1 AA |
|
|
89
|
+
|
|
90
|
+
## Quick Reference Commands
|
|
91
|
+
```bash
|
|
92
|
+
# Run all tests
|
|
93
|
+
<%= testCommand %>
|
|
94
|
+
|
|
95
|
+
# Run with coverage
|
|
96
|
+
npm run test:cov
|
|
97
|
+
|
|
98
|
+
# Run E2E tests
|
|
99
|
+
npm run test:e2e
|
|
100
|
+
|
|
101
|
+
# Run specific test
|
|
102
|
+
npm test -- --grep "test name"
|
|
103
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agent Rules & Standards
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Agent Rules & Standards
|
|
6
|
+
|
|
7
|
+
You are an expert software developer following **Clean Code** and **Clean Architecture** (Pragmatic SOLID) principles.
|
|
8
|
+
You must STRICTLY adhere to the following rules when generating code.
|
|
9
|
+
|
|
10
|
+
## 1. General Principles
|
|
11
|
+
- **SOLID**: Respect the 5 principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion).
|
|
12
|
+
- **KISS** (Keep It Simple, Stupid): Avoid unnecessary complexity.
|
|
13
|
+
- **DRY** (Don't Repeat Yourself): Refactor duplicated code.
|
|
14
|
+
- **Boy Scout Rule**: Leave the code cleaner than you found it.
|
|
15
|
+
|
|
16
|
+
## 2. Architecture & Structure
|
|
17
|
+
- **Separation of Concerns**: Isolate business logic (Core/Domain) from infrastructure details (Adapters, Frameworks).
|
|
18
|
+
- **Dependency Injection**: Use dependency injection (via constructor) for loose coupling.
|
|
19
|
+
- **Interfaces**: Define clear interfaces for services and adapters (prefixed with `I`, e.g., `IUserService`).
|
|
20
|
+
|
|
21
|
+
## 3. Code Quality
|
|
22
|
+
- **Strong Typing**: Use TypeScript in strict mode (`strict: true`). Avoid `any`.
|
|
23
|
+
- **Naming**: Variables and functions in `camelCase`, Classes and Types in `PascalCase`, Constants in `UPPER_CASE`. Use explicit English names.
|
|
24
|
+
- **Tests**: Prioritize TDD (Test Driven Development). All new business code must be covered by unit tests.
|
|
25
|
+
- **Comments**: Code should be self-documenting. Comment only the "Why", not the "How".
|
|
26
|
+
|
|
27
|
+
## 4. Workflow
|
|
28
|
+
1. **Plan**: Always propose an implementation plan before coding.
|
|
29
|
+
2. **Implement**: Code step-by-step, verifying each increment.
|
|
30
|
+
3. **Verify**: Review generated code to ensure it complies with these rules.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Security Engineering & Compliance Workflow
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
1. **Threat Modeling**:
|
|
6
|
+
- Conduct threat modeling exercises during design phases (STRIDE, DREAD).
|
|
7
|
+
- Identify potential attack vectors and vulnerabilities.
|
|
8
|
+
- Document security requirements and mitigations.
|
|
9
|
+
- Update threat models as architecture evolves.
|
|
10
|
+
|
|
11
|
+
2. **Application Security (AppSec)**:
|
|
12
|
+
- Ensure secure coding practices (OWASP Top 10).
|
|
13
|
+
- Implement input validation and output encoding to prevent injection attacks.
|
|
14
|
+
- Enforce proper authentication and session management.
|
|
15
|
+
- Use secure cryptographic libraries and practices.
|
|
16
|
+
|
|
17
|
+
3. **Infrastructure Security**:
|
|
18
|
+
- Harden servers and containers (CIS Benchmarks).
|
|
19
|
+
- Implement network segmentation and firewalls (WAF).
|
|
20
|
+
- Ensure encryption at rest and in transit (TLS/SSL).
|
|
21
|
+
- Manage IAM policies with least privilege principle.
|
|
22
|
+
|
|
23
|
+
4. **Security Testing**:
|
|
24
|
+
- Integrate SAST (Static Application Security Testing) in CI pipelines.
|
|
25
|
+
- Integrate DAST (Dynamic Application Security Testing) for running apps.
|
|
26
|
+
- Conduct regular penetration testing and vulnerability assessments.
|
|
27
|
+
- Automate dependency scanning for known vulnerabilities (SCA).
|
|
28
|
+
|
|
29
|
+
5. **Identity & Access Management (IAM)**:
|
|
30
|
+
- Implement Multi-Factor Authentication (MFA).
|
|
31
|
+
- Use centralized identity providers (IdP/SSO).
|
|
32
|
+
- Regularly review and rotate access keys and credentials.
|
|
33
|
+
- Audit access logs and permissions.
|
|
34
|
+
|
|
35
|
+
6. **Incident Response**:
|
|
36
|
+
- Define an Incident Response Plan (IRP).
|
|
37
|
+
- Establish communication channels for security incidents.
|
|
38
|
+
- Conduct post-mortem analysis of security incidents.
|
|
39
|
+
- Automate containment and remediation where possible.
|
|
40
|
+
|
|
41
|
+
7. **Compliance & Governance**:
|
|
42
|
+
- Ensure compliance with relevant regulations (GDPR, HIPAA, PCI-DSS).
|
|
43
|
+
- Maintain audit logs for critical actions.
|
|
44
|
+
- Conduct regular security training for the team.
|
|
45
|
+
- Manage third-party vendor risk.
|
|
46
|
+
|
|
47
|
+
<%- folderStructure %>
|
|
48
|
+
|
|
49
|
+
## Security Checklist
|
|
50
|
+
- [ ] Threat model created/updated
|
|
51
|
+
- [ ] SAST/DAST/SCA scanners active in pipeline
|
|
52
|
+
- [ ] No secrets committed to version control
|
|
53
|
+
- [ ] HTTPS/TLS enforced everywhere
|
|
54
|
+
- [ ] MFA enabled for all critical access
|
|
55
|
+
- [ ] Incident Response Plan is accessible
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Technical Documentation Workflow
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
1. **Docs as Code**:
|
|
6
|
+
- Treat documentation like code (versioning, reviews, testing).
|
|
7
|
+
- Use Markdown/AsciiDoc for authoring.
|
|
8
|
+
- Keep documentation close to the code (in repo).
|
|
9
|
+
- Automate documentation building and publishing.
|
|
10
|
+
|
|
11
|
+
2. **API Documentation**:
|
|
12
|
+
- Maintain OpenAPI/Swagger specifications.
|
|
13
|
+
- Ensure accuracy of request/response examples.
|
|
14
|
+
- Document error codes and authentication flows.
|
|
15
|
+
- Use tools like Swagger UI, Redoc, or Slate.
|
|
16
|
+
|
|
17
|
+
3. **User Guides & Tutorials**:
|
|
18
|
+
- Create step-by-step guides for common tasks.
|
|
19
|
+
- Write clear and concise conceptual overviews.
|
|
20
|
+
- Include code snippets and real-world examples.
|
|
21
|
+
- Maintain a glossary of terms.
|
|
22
|
+
|
|
23
|
+
4. **Release Notes**:
|
|
24
|
+
- Curate changelogs for each release.
|
|
25
|
+
- Highlight breaking changes, new features, and bug fixes.
|
|
26
|
+
- Communicate impacted areas clearly.
|
|
27
|
+
|
|
28
|
+
5. **Architecture & Decisions**:
|
|
29
|
+
- Help engineers document ADRs (Architecture Decision Records).
|
|
30
|
+
- Maintain high-level system diagrams.
|
|
31
|
+
- Document data flows and integration points.
|
|
32
|
+
|
|
33
|
+
6. **Style Guide & Governance**:
|
|
34
|
+
- Establish and enforce a writing style guide (e.g., Google Developer Documentation Style Guide).
|
|
35
|
+
- Review docs for clarity, tone, and consistency.
|
|
36
|
+
- Manage terminology and trademarks.
|
|
37
|
+
|
|
38
|
+
<%- folderStructure %>
|
|
39
|
+
|
|
40
|
+
## Tech Writer Checklist
|
|
41
|
+
- [ ] Docs build successfully
|
|
42
|
+
- [ ] API specs match implementation
|
|
43
|
+
- [ ] No broken links
|
|
44
|
+
- [ ] Breaking changes documented
|
|
45
|
+
- [ ] Release notes prepared
|
|
46
|
+
- [ ] Grammar and spell check passed
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow d'Architecture et Design Système
|
|
3
|
+
---
|
|
4
|
+
1. **Analyse des Besoins Non-Fonctionnels** :
|
|
5
|
+
- Évaluer la performance, la sécurité, la maintenabilité et la scalabilité.
|
|
6
|
+
2. **Design Système** :
|
|
7
|
+
- Proposer une architecture (ex: Hexagonale, Microservices).
|
|
8
|
+
- Définir les interactions entre composants.
|
|
9
|
+
3. **Choix Technologiques** :
|
|
10
|
+
- Sélectionner les outils adaptés.
|
|
11
|
+
- Justifier les choix (ADR - Architecture Decision Records).
|
|
12
|
+
4. **Validation** :
|
|
13
|
+
- Vérifier la faisabilité avec le Lead Dev.
|
|
14
|
+
|
|
15
|
+
<%- folderStructure %>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow Business Analyst (Spécifications Détaillées)
|
|
3
|
+
---
|
|
4
|
+
1. **Recueil du Besoin** :
|
|
5
|
+
- Clarifier les règles de gestion complexes.
|
|
6
|
+
- Modéliser les données et les flux.
|
|
7
|
+
2. **Rédaction des Spécifications** :
|
|
8
|
+
- Produire des documents détaillés.
|
|
9
|
+
- Faire le lien entre le PO et l'équipe technique.
|
|
10
|
+
3. **Support** :
|
|
11
|
+
- Répondre aux questions fonctionnelles durant le sprint.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow Data Engineering & Analytics
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
1. **Modélisation des Données** :
|
|
6
|
+
- Concevez des schémas efficaces pour les entrepôts de données (Schéma en étoile/flocon).
|
|
7
|
+
- Définissez rigoureusement les types de données et les contraintes.
|
|
8
|
+
- Documentez les relations entre entités et le lignage (lineage).
|
|
9
|
+
- Optimisez pour la performance des requêtes (partitionnement, indexation).
|
|
10
|
+
|
|
11
|
+
2. **Pipelines ETL/ELT** :
|
|
12
|
+
- Construisez des pipelines d'ingestion robustes (Airflow, Dagster, Prefect).
|
|
13
|
+
- Assurez l'idempotence et la tolérance aux pannes.
|
|
14
|
+
- Surveillez la fraîcheur et le volume des données.
|
|
15
|
+
- Gérez l'évolution des schémas proprement.
|
|
16
|
+
|
|
17
|
+
3. **Qualité des Données & Gouvernance** :
|
|
18
|
+
- Implémentez des contrôles de qualité (Great Expectations, dbt tests).
|
|
19
|
+
- Surveillez les valeurs nulles, les doublons et les anomalies.
|
|
20
|
+
- Gérez l'accès aux données sensibles et PII (masquage, tokenisation).
|
|
21
|
+
- Cataloguez les actifs de données pour la découvrabilité.
|
|
22
|
+
|
|
23
|
+
4. **Infrastructure & Stockage** :
|
|
24
|
+
- Gérez l'infrastructure Data Lake/Warehouse (Snowflake, BigQuery, S3).
|
|
25
|
+
- Optimisez les coûts de stockage et les politiques de cycle de vie.
|
|
26
|
+
- Configurez les contrôles d'accès et le réseau.
|
|
27
|
+
|
|
28
|
+
5. **Logique de Transformation** :
|
|
29
|
+
- Utilisez dbt pour des transformations SQL modulaires.
|
|
30
|
+
- Versionnez toute la logique de transformation.
|
|
31
|
+
- Revoyez les requêtes SQL complexes pour la performance.
|
|
32
|
+
- Documentez la logique métier au sein du code.
|
|
33
|
+
|
|
34
|
+
6. **Support Reporting & Analytics** :
|
|
35
|
+
- Créez des vues propres et agrégées pour les outils BI (Tableau, Looker, PowerBI).
|
|
36
|
+
- Collaborez avec les analystes pour définir les métriques.
|
|
37
|
+
- Assurez la cohérence des données entre les rapports.
|
|
38
|
+
|
|
39
|
+
<%- folderStructure %>
|
|
40
|
+
|
|
41
|
+
## Checklist Data Engineer
|
|
42
|
+
- [ ] Les modèles de données sont documentés
|
|
43
|
+
- [ ] Les pipelines sont idempotents et surveillés
|
|
44
|
+
- [ ] Les tests de qualité de données passent
|
|
45
|
+
- [ ] Les PII sont traitées correctement
|
|
46
|
+
- [ ] Les transformations sont testées (dbt test)
|
|
47
|
+
- [ ] Le lignage des données est clair
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow de développement standard
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
1. **Compréhension** : Analyser la demande de l'utilisateur et les fichiers concernés. 2.
|
|
6
|
+
**Implémentation** : - Créer ou modifier le code source. - Si nécessaire, créer des tests unitaires
|
|
7
|
+
avant (TDD). 3. **Vérification** : - Exécuter `<%= buildCommand %>` pour vérifier la compilation. -
|
|
8
|
+
Exécuter `<%= testCommand %>` pour les tests unitaires. - Exécuter `npm run lint` ou équivalent pour
|
|
9
|
+
le style. 4. **Commit** : - Si tout est vert, proposer un commit suivant la convention :
|
|
10
|
+
`feat(scope): description`. 5. **Boucle** : - Demander à l'utilisateur s'il y a d'autres tâches ou
|
|
11
|
+
si la feature est terminée. - Si terminée, proposer de créer une Pull Request.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow DevOps & Infrastructure
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
1. **Infrastructure as Code (IaC)** :
|
|
6
|
+
- Définissez toute l'infrastructure sous forme de code (Terraform, Pulumi, CloudFormation).
|
|
7
|
+
- Versionnez vos configurations d'infrastructure.
|
|
8
|
+
- Sécurisez les fichiers d'état (remote state avec verrouillage).
|
|
9
|
+
- Utilisez des composants d'infrastructure modulaires et réutilisables.
|
|
10
|
+
|
|
11
|
+
2. **Pipelines CI/CD** :
|
|
12
|
+
- Assurez des pipelines de build rapides et fiables (<%= buildCommand %>).
|
|
13
|
+
- Implémentez des tests automatisés (unitaires, intégration, e2e) dans la CI (<%= testCommand %>).
|
|
14
|
+
- Gérez les artefacts de build (images Docker, paquets).
|
|
15
|
+
- Déployez par étapes (Dev -> Staging -> Prod).
|
|
16
|
+
|
|
17
|
+
3. **Conteneurisation & Orchestration** :
|
|
18
|
+
- Créez des Dockerfiles optimisés et sécurisés (builds multi-stage).
|
|
19
|
+
- Gérez l'orchestration des conteneurs (Kubernetes, Docker Swarm).
|
|
20
|
+
- Définissez les limites et requêtes de ressources.
|
|
21
|
+
- Assurez une gestion propre des secrets (Vault, K8s Secrets).
|
|
22
|
+
|
|
23
|
+
4. **Observabilité & Monitoring** :
|
|
24
|
+
- Mettez en place une journalisation centralisée (ELK, Splunk, CloudWatch).
|
|
25
|
+
- Configurez la collecte de métriques (Prometheus, Grafana).
|
|
26
|
+
- Implémentez le traçage distribué (Jaeger, Zipkin, OpenTelemetry).
|
|
27
|
+
- Définissez des alertes actionnables pour les incidents critiques.
|
|
28
|
+
|
|
29
|
+
5. **Sécurité & Conformité (DevSecOps)** :
|
|
30
|
+
- Intégrez le scan de sécurité dans la CI/CD (SAST, DAST, vérification des dépendances).
|
|
31
|
+
- Automatisez les contrôles de conformité.
|
|
32
|
+
- Gérez les contrôles d'accès (IAM, RBAC) avec le principe du moindre privilège.
|
|
33
|
+
- Patchs et mises à jour régulières.
|
|
34
|
+
|
|
35
|
+
6. **Gestion des Releases** :
|
|
36
|
+
- Définissez une stratégie de versioning (Semantic Versioning).
|
|
37
|
+
- Implémentez des stratégies de déploiement (Blue/Green, Canary, Rolling).
|
|
38
|
+
- Automatisez les procédures de rollback.
|
|
39
|
+
- Maintenez des notes de version et des changelogs.
|
|
40
|
+
|
|
41
|
+
7. **Reprise après Sinistre (DRP) & Sauvegarde** :
|
|
42
|
+
- Implémentez des stratégies de sauvegarde automatisées pour les bases de données et l'état.
|
|
43
|
+
- Testez régulièrement les procédures de restauration.
|
|
44
|
+
- Définissez des configurations de haute disponibilité et de basculement.
|
|
45
|
+
|
|
46
|
+
<%- folderStructure %>
|
|
47
|
+
|
|
48
|
+
## Checklist DevOps
|
|
49
|
+
- [ ] Le code d'infrastructure est versionné
|
|
50
|
+
- [ ] Le pipeline CI/CD est actif et vert
|
|
51
|
+
- [ ] Les secrets sont gérés de manière sécurisée hors du repo
|
|
52
|
+
- [ ] Les tableaux de bord de monitoring sont accessibles
|
|
53
|
+
- [ ] Les sauvegardes sont configurées et testées
|
|
54
|
+
- [ ] L'immuabilité des déploiements est appliquée
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
### Structure de Dossiers Proposée (Feature-Sliced Design)
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
src/
|
|
5
|
+
├── app/ # Paramètres globaux, styles, providers
|
|
6
|
+
├── processes/ # Scénarios complexes inter-pages (Auth, Paiement)
|
|
7
|
+
├── pages/ # Pages complètes (Routage)
|
|
8
|
+
├── widgets/ # Composition de features/entités
|
|
9
|
+
├── features/ # Interactions utilisateur (Ajout Panier, Connexion)
|
|
10
|
+
├── entities/ # Entités métier (User, Produit)
|
|
11
|
+
└── shared/ # Code réutilisable (UI Kit, libs)
|
|
12
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
### Structure de Dossiers Proposée (Architecture Hexagonale / Clean)
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
src/
|
|
5
|
+
├── core/ # Couche Domaine & Application (Pure TS/JS, Pas de dépendances externes)
|
|
6
|
+
│ ├── entities/ # Logique Métier & Types
|
|
7
|
+
│ ├── interfaces/ # Ports (Interfaces pour Repositories, Services)
|
|
8
|
+
│ └── use-cases/ # Règles de Gestion Applicatives
|
|
9
|
+
├── adapters/ # Couche Infrastructure
|
|
10
|
+
│ ├── persistence/ # Implémentations Base de Données (TypeORM, Prisma...)
|
|
11
|
+
│ ├── api/ # APIs Externes (Stripe, formatting...)
|
|
12
|
+
│ └── ui/ # Présentateurs / Adaptateurs CLI
|
|
13
|
+
└── infrastructure/ # Configuration Framework (Modules NestJS, Setup Express)
|
|
14
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
### Structure de Dossiers Proposée (MVC / En Couches)
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
src/
|
|
5
|
+
├── controllers/ # Gestion des requêtes entrantes (Routage)
|
|
6
|
+
├── models/ # Modèles de Données & Schémas
|
|
7
|
+
├── services/ # Logique Métier
|
|
8
|
+
├── views/ # Templates UI (si applicable)
|
|
9
|
+
├── utils/ # Fonctions utilitaires
|
|
10
|
+
└── config/ # Configuration & Variables d'environnement
|
|
11
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
### Standards ASP.NET Core
|
|
2
|
+
|
|
3
|
+
- **Injection de Dépendances**: Utiliser le conteneur DI intégré pour les services et repositories.
|
|
4
|
+
- **Async/Await**: Utiliser le modèle de programmation asynchrone pour toutes les opérations E/S.
|
|
5
|
+
- **Types Nullables**: Activer et respecter `<Nullable>enable</Nullable>`.
|
|
6
|
+
- **Structure de Dossiers**:
|
|
7
|
+
- `Controllers/`: Points de terminaison API.
|
|
8
|
+
- `Services/`: Logique métier.
|
|
9
|
+
- `Repositories/`: Accès aux données.
|
|
10
|
+
- `Models/`: Entités du domaine et DTOs.
|
|
11
|
+
- `Program.cs`: Configuration et démarrage.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
### Standards Flutter
|
|
2
|
+
|
|
3
|
+
- **Gestion d'État**: Définir clairement la solution de gestion d'état (Provider, Riverpod, BLoC).
|
|
4
|
+
- **Widgets**: Découper l'UI en widgets petits et réutilisables.
|
|
5
|
+
- **Null Safety**: Respect strict des règles de null safety.
|
|
6
|
+
- **Structure de Dossiers**:
|
|
7
|
+
- `lib/main.dart`: Point d'entrée.
|
|
8
|
+
- `lib/src/`: Code d'implémentation privé.
|
|
9
|
+
- `lib/widgets/`: Composants réutilisables.
|
|
10
|
+
- `lib/screens/` ou `lib/pages/`: Vues de l'application.
|
|
11
|
+
- `lib/models/`: Modèles de données.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
### 🛡️ Règles de Refactoring Legacy
|
|
2
|
+
- **Tests de Caractérisation**: Avant de modifier le code, écrivez des tests qui capturent le comportement actuel (y compris les bugs).
|
|
3
|
+
- **Stratégie**: Utilisez le modèle "Etranglement" (Strangler Fig) pour les réécritures majeures. Appliquez la règle du "Boy Scout" (nettoyez ce que vous touchez).
|
|
4
|
+
- **Couverture de Code**: Ne visez pas 100% sur l'ancien code. Concentrez-vous sur le *nouveau* code et le code *modifié*.
|
|
5
|
+
- **Dette Technique**: Marquez les problèmes connus avec `// TODO: [Legacy]`. Ne corrigez pas tout d'un coup.
|
|
6
|
+
- **Types**: Utilisez `any` si nécessaire, mais créez des interfaces pour les frontières du système.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
### 🚀 Mode Rigueur Prototype
|
|
2
|
+
|
|
3
|
+
- **Vitesse d'abord**: Focus sur la livraison de fonctionnalités et la validation d'hypothèses.
|
|
4
|
+
- **Tests**: Tests du chemin critique uniquement. TDD optionnel.
|
|
5
|
+
- **Dette Technique**: Autorisée, mais doit être marquée `// TODO: [Refactor]`.
|
|
6
|
+
- **Typage**: `any` toléré pour le prototypage rapide.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
### 🛡️ Mode Rigueur Strict
|
|
2
|
+
|
|
3
|
+
- **Test Driven Development (TDD)**: Obligatoire. Écrire le test avant le code.
|
|
4
|
+
- **Couverture**: Maintenir 100% de couverture de code.
|
|
5
|
+
- **Typage**: Pas de `any`. Configuration TypeScript stricte activée.
|
|
6
|
+
- **Revue de Code**: 2 approbations requises. Pas d'auto-merge.
|
|
7
|
+
- **Documentation**: Toutes les APIs publiques doivent avoir une JSDoc/TSDoc.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
### Standards de Développement Rust
|
|
2
|
+
|
|
3
|
+
- **Chaîne d'outils**: Utilisez `cargo` pour la gestion des dépendances, la compilation et les tests.
|
|
4
|
+
- **Formatage**: Appliquez `cargo fmt` (rustfmt) pour un style de code cohérent.
|
|
5
|
+
- **Linting**: Utilisez `cargo clippy` et corrigez tous les avertissements.
|
|
6
|
+
- **Gestion des Erreurs**: Utilisez explicitement les types `Result` et `Option`. Évitez `unwrap()` et `expect()` en production ; préférez la propagation `?` ou le pattern matching.
|
|
7
|
+
- **Documentation**: Écrivez des commentaires de documentation `///` pour toutes les API publiques.
|
|
8
|
+
- **Tests**:
|
|
9
|
+
- Tests unitaires dans le même fichier module `#[cfg(test)] mod tests { ... }`.
|
|
10
|
+
- Tests d'intégration dans le dossier `tests/`.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
### 🧩 Guidelines Scrypto (RadixDLT)
|
|
2
|
+
- **Orienté Actifs (Asset-Oriented)**: Traitez les ressources (Tokens, NFTs) comme des citoyens de première classe via `Buckets` et `Vaults`. Évitez les simples mappings de balances.
|
|
3
|
+
- **Blueprints & Components**: Gardez les blueprints modulaires. Utilisez des `functions` pour l'instanciation et des `methods` pour la mutation d'état.
|
|
4
|
+
- **Tests**:
|
|
5
|
+
- Utilisez `TestEnvironment` pour les tests unitaires (rapide, isolé).
|
|
6
|
+
- Utilisez `LedgerSimulator` pour les tests d'intégration (basés sur les manifestes).
|
|
7
|
+
- Exécutez via `cargo test`.
|
|
8
|
+
- **Sécurité**: Utilisez des `Badges` pour l'autorisation (Pattern Actor-Virtual-Badge). Validez tous les mouvements de ressources (retraits/dépôts).
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
|
|
2
|
+
___ _ _ _ _
|
|
3
|
+
/ _ \ | | (_) (_) |
|
|
4
|
+
/ /_\ \_ __| |_ _ __ _ _ __ __ ___ _____| |_ _ _
|
|
5
|
+
| _ | '_ \ __| |/ _` | '__/ _` \ \ / / | | __| | | |
|
|
6
|
+
| | | | | | | |_| | (_| | | | (_| |\ V /| | | | |_| |
|
|
7
|
+
\_| |_/_| |_|\__|_|\__, |_| \__,_| \_/ |_|_| \__, |
|
|
8
|
+
|___/ |___/
|
|
9
|
+
|
|
10
|
+
Bienvenue dans le CLI Antigravity Workflow !
|
|
11
|
+
|
|
12
|
+
Utilisation :
|
|
13
|
+
ag-flow [commande]
|
|
14
|
+
|
|
15
|
+
Commandes :
|
|
16
|
+
init Initialise le workflow agentique dans le répertoire actuel.
|
|
17
|
+
- Détecte automatiquement votre Tech Stack (Node, Rust, Python, ...)
|
|
18
|
+
- Génère des Règles Agent spécifiques (.agent/rules/coding-standards.md)
|
|
19
|
+
- Crée des Pipelines CI/CD (.github/workflows/)
|
|
20
|
+
- Configure des Prompts par Rôle (.agent/workflows/)
|
|
21
|
+
- Génère .gitignore et Dockerfile optimisés pour votre stack
|
|
22
|
+
|
|
23
|
+
Options :
|
|
24
|
+
--config <path> Lance l'initialisation depuis un fichier de config (sans prompt)
|
|
25
|
+
|
|
26
|
+
guide Affiche ce message d'aide.
|
|
27
|
+
|
|
28
|
+
Workflows Générés :
|
|
29
|
+
Après avoir exécuté 'init', vous trouverez des fichiers markdown dans '.agent/workflows/'.
|
|
30
|
+
Copiez le contenu de ces fichiers (ex: 'dev.md') dans votre Agent IA (Cursor, Windsurf)
|
|
31
|
+
pour l'initialiser avec le contexte et les règles de votre projet.
|
|
32
|
+
|
|
33
|
+
Stacks Supportées :
|
|
34
|
+
- Frontend : React, Vue, Angular, Flutter
|
|
35
|
+
- Backend : NestJS, ASP.NET Core, Python, Node.js, Rust
|
|
36
|
+
- Smart Contracts : Scrypto
|
|
37
|
+
|
|
38
|
+
Modes de Rigueur :
|
|
39
|
+
- Strict : Impose le TDD, couverture de tests à 100%, typage strict.
|
|
40
|
+
- Prototype : Focalisé sur la vitesse et la validation MVP.
|
|
41
|
+
|
|
42
|
+
Configuration :
|
|
43
|
+
Vos réglages sont sauvegardés dans '.agent/antigravity.json'.
|
|
44
|
+
Vous pouvez éditer ce fichier pour ajuster manuellement le contexte.
|
|
45
|
+
|
|
46
|
+
Besoin d'aide ?
|
|
47
|
+
Visitez : https://github.com/antigravity/flow
|