@heyai-rules/pilo-masterkit 1.2.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/.agent/agents/PILO_MASTER.md +77 -0
- package/.agent/agents/architect.md +211 -0
- package/.agent/agents/backend-specialist.md +263 -0
- package/.agent/agents/build-error-resolver.md +114 -0
- package/.agent/agents/chief-of-staff.md +151 -0
- package/.agent/agents/code-archaeologist.md +106 -0
- package/.agent/agents/code-reviewer.md +237 -0
- package/.agent/agents/cpp-build-resolver.md +90 -0
- package/.agent/agents/cpp-reviewer.md +72 -0
- package/.agent/agents/database-architect.md +226 -0
- package/.agent/agents/database-reviewer.md +91 -0
- package/.agent/agents/debugger.md +225 -0
- package/.agent/agents/devops-engineer.md +242 -0
- package/.agent/agents/doc-updater.md +107 -0
- package/.agent/agents/docs-lookup.md +68 -0
- package/.agent/agents/documentation-writer.md +104 -0
- package/.agent/agents/e2e-runner.md +107 -0
- package/.agent/agents/explorer-agent.md +73 -0
- package/.agent/agents/flutter-reviewer.md +243 -0
- package/.agent/agents/frontend-specialist.md +593 -0
- package/.agent/agents/game-developer.md +162 -0
- package/.agent/agents/go-build-resolver.md +94 -0
- package/.agent/agents/go-reviewer.md +76 -0
- package/.agent/agents/harness-optimizer.md +35 -0
- package/.agent/agents/java-build-resolver.md +153 -0
- package/.agent/agents/java-reviewer.md +92 -0
- package/.agent/agents/kotlin-build-resolver.md +118 -0
- package/.agent/agents/kotlin-reviewer.md +159 -0
- package/.agent/agents/loop-operator.md +36 -0
- package/.agent/agents/mobile-developer.md +377 -0
- package/.agent/agents/orchestrator.md +416 -0
- package/.agent/agents/penetration-tester.md +188 -0
- package/.agent/agents/performance-optimizer.md +187 -0
- package/.agent/agents/planner.md +212 -0
- package/.agent/agents/product-manager.md +112 -0
- package/.agent/agents/product-owner.md +95 -0
- package/.agent/agents/project-planner.md +406 -0
- package/.agent/agents/python-reviewer.md +98 -0
- package/.agent/agents/pytorch-build-resolver.md +120 -0
- package/.agent/agents/qa-automation-engineer.md +103 -0
- package/.agent/agents/refactor-cleaner.md +85 -0
- package/.agent/agents/rust-build-resolver.md +148 -0
- package/.agent/agents/rust-reviewer.md +94 -0
- package/.agent/agents/security-auditor.md +170 -0
- package/.agent/agents/security-reviewer.md +108 -0
- package/.agent/agents/seo-specialist.md +111 -0
- package/.agent/agents/tdd-guide.md +91 -0
- package/.agent/agents/test-engineer.md +158 -0
- package/.agent/agents/typescript-reviewer.md +112 -0
- package/.agent/rules/ARCHITECTURAL_BLUEPRINTS.md +62 -0
- package/.agent/rules/CODE_CRAFTSMANSHIP.md +69 -0
- package/.agent/rules/CORE_RULES.md +72 -0
- package/.agent/rules/PROJECT_MAP.md +58 -0
- package/.agent/rules/QUALITY_ASSURANCE.md +54 -0
- package/.agent/rules/SECURITY_ARMOR.md +44 -0
- package/.agent/rules/VERSION_ORCHESTRATION.md +64 -0
- package/.agent/rules/WORKFLOW_ORCHESTRATION.md +55 -0
- package/.agent/scripts/auto_preview.py +148 -0
- package/.agent/scripts/checklist.py +217 -0
- package/.agent/scripts/session_manager.py +120 -0
- package/.agent/scripts/verify_all.py +327 -0
- package/.agent/skills/api-patterns/SKILL.md +81 -0
- package/.agent/skills/api-patterns/api-style.md +42 -0
- package/.agent/skills/api-patterns/auth.md +24 -0
- package/.agent/skills/api-patterns/documentation.md +26 -0
- package/.agent/skills/api-patterns/graphql.md +41 -0
- package/.agent/skills/api-patterns/rate-limiting.md +31 -0
- package/.agent/skills/api-patterns/response.md +37 -0
- package/.agent/skills/api-patterns/rest.md +40 -0
- package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.agent/skills/api-patterns/security-testing.md +122 -0
- package/.agent/skills/api-patterns/trpc.md +41 -0
- package/.agent/skills/api-patterns/versioning.md +22 -0
- package/.agent/skills/app-builder/SKILL.md +75 -0
- package/.agent/skills/app-builder/agent-coordination.md +71 -0
- package/.agent/skills/app-builder/feature-building.md +53 -0
- package/.agent/skills/app-builder/project-detection.md +34 -0
- package/.agent/skills/app-builder/scaffolding.md +118 -0
- package/.agent/skills/app-builder/tech-stack.md +41 -0
- package/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/.agent/skills/architecture/SKILL.md +55 -0
- package/.agent/skills/architecture/context-discovery.md +43 -0
- package/.agent/skills/architecture/examples.md +94 -0
- package/.agent/skills/architecture/pattern-selection.md +68 -0
- package/.agent/skills/architecture/patterns-reference.md +50 -0
- package/.agent/skills/architecture/trade-off-analysis.md +77 -0
- package/.agent/skills/bash-linux/SKILL.md +199 -0
- package/.agent/skills/behavioral-modes/SKILL.md +242 -0
- package/.agent/skills/brainstorming/SKILL.md +163 -0
- package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
- package/.agent/skills/clean-code/SKILL.md +201 -0
- package/.agent/skills/code-review-checklist/SKILL.md +109 -0
- package/.agent/skills/database-design/SKILL.md +52 -0
- package/.agent/skills/database-design/database-selection.md +43 -0
- package/.agent/skills/database-design/indexing.md +39 -0
- package/.agent/skills/database-design/migrations.md +48 -0
- package/.agent/skills/database-design/optimization.md +36 -0
- package/.agent/skills/database-design/orm-selection.md +30 -0
- package/.agent/skills/database-design/schema-design.md +56 -0
- package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
- package/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/.agent/skills/doc.md +177 -0
- package/.agent/skills/documentation-templates/SKILL.md +194 -0
- package/.agent/skills/frontend-design/SKILL.md +452 -0
- package/.agent/skills/frontend-design/animation-guide.md +331 -0
- package/.agent/skills/frontend-design/color-system.md +311 -0
- package/.agent/skills/frontend-design/decision-trees.md +418 -0
- package/.agent/skills/frontend-design/motion-graphics.md +306 -0
- package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/.agent/skills/frontend-design/typography-system.md +345 -0
- package/.agent/skills/frontend-design/ux-psychology.md +1116 -0
- package/.agent/skills/frontend-design/visual-effects.md +383 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agent/skills/game-development/SKILL.md +167 -0
- package/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
- package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.agent/skills/i18n-localization/SKILL.md +154 -0
- package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.agent/skills/intelligent-routing/SKILL.md +335 -0
- package/.agent/skills/lint-and-validate/SKILL.md +45 -0
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -0
- package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.agent/skills/mcp-builder/SKILL.md +176 -0
- package/.agent/skills/mobile-design/SKILL.md +394 -0
- package/.agent/skills/mobile-design/decision-trees.md +516 -0
- package/.agent/skills/mobile-design/mobile-backend.md +491 -0
- package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
- package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
- package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
- package/.agent/skills/mobile-design/mobile-performance.md +767 -0
- package/.agent/skills/mobile-design/mobile-testing.md +356 -0
- package/.agent/skills/mobile-design/mobile-typography.md +433 -0
- package/.agent/skills/mobile-design/platform-android.md +666 -0
- package/.agent/skills/mobile-design/platform-ios.md +561 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.agent/skills/mobile-design/touch-psychology.md +537 -0
- package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +351 -0
- package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
- package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
- package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
- package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
- package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
- package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
- package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
- package/.agent/skills/nextjs-react-expert/9-cache-components.md +103 -0
- package/.agent/skills/nextjs-react-expert/SKILL.md +293 -0
- package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
- package/.agent/skills/parallel-agents/SKILL.md +175 -0
- package/.agent/skills/performance-profiling/SKILL.md +143 -0
- package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/.agent/skills/plan-writing/SKILL.md +152 -0
- package/.agent/skills/powershell-windows/SKILL.md +167 -0
- package/.agent/skills/python-patterns/SKILL.md +441 -0
- package/.agent/skills/red-team-tactics/SKILL.md +199 -0
- package/.agent/skills/rust-pro/SKILL.md +176 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
- package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/.agent/skills/server-management/SKILL.md +161 -0
- package/.agent/skills/systematic-debugging/SKILL.md +109 -0
- package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
- package/.agent/skills/tdd-workflow/SKILL.md +149 -0
- package/.agent/skills/testing-patterns/SKILL.md +178 -0
- package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.agent/skills/ui-ux-pro-max/SKILL.md +292 -0
- package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/.agent/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/.agent/skills/ui-ux-pro-max/scripts/__pycache__/search.cpython-314.pyc +0 -0
- package/.agent/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/.agent/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
- package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/.agent/skills/web-design-guidelines/SKILL.md +57 -0
- package/.agent/skills/webapp-testing/SKILL.md +187 -0
- package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.agent/tasks/lessons.md +40 -0
- package/.agent/tasks/todo.md +33 -0
- package/.agent/workflows/aside.md +164 -0
- package/.agent/workflows/brainstorm.md +113 -0
- package/.agent/workflows/build-fix.md +62 -0
- package/.agent/workflows/checkpoint.md +74 -0
- package/.agent/workflows/claw.md +51 -0
- package/.agent/workflows/code-review.md +40 -0
- package/.agent/workflows/context-budget.md +29 -0
- package/.agent/workflows/cpp-build.md +173 -0
- package/.agent/workflows/cpp-review.md +132 -0
- package/.agent/workflows/cpp-test.md +251 -0
- package/.agent/workflows/create.md +59 -0
- package/.agent/workflows/debug.md +103 -0
- package/.agent/workflows/deploy.md +176 -0
- package/.agent/workflows/devfleet.md +92 -0
- package/.agent/workflows/docs.md +31 -0
- package/.agent/workflows/e2e.md +365 -0
- package/.agent/workflows/enhance.md +63 -0
- package/.agent/workflows/eval.md +120 -0
- package/.agent/workflows/evolve.md +178 -0
- package/.agent/workflows/go-build.md +183 -0
- package/.agent/workflows/go-review.md +148 -0
- package/.agent/workflows/go-test.md +268 -0
- package/.agent/workflows/gradle-build.md +70 -0
- package/.agent/workflows/harness-audit.md +71 -0
- package/.agent/workflows/init-docs.md +46 -0
- package/.agent/workflows/instinct-export.md +66 -0
- package/.agent/workflows/instinct-import.md +114 -0
- package/.agent/workflows/instinct-status.md +59 -0
- package/.agent/workflows/kotlin-build.md +174 -0
- package/.agent/workflows/kotlin-review.md +140 -0
- package/.agent/workflows/kotlin-test.md +312 -0
- package/.agent/workflows/learn-eval.md +116 -0
- package/.agent/workflows/learn.md +70 -0
- package/.agent/workflows/loop-start.md +32 -0
- package/.agent/workflows/loop-status.md +24 -0
- package/.agent/workflows/model-route.md +26 -0
- package/.agent/workflows/multi-backend.md +158 -0
- package/.agent/workflows/multi-execute.md +315 -0
- package/.agent/workflows/multi-frontend.md +158 -0
- package/.agent/workflows/multi-plan.md +268 -0
- package/.agent/workflows/multi-workflow.md +191 -0
- package/.agent/workflows/orchestrate.md +231 -0
- package/.agent/workflows/plan.md +115 -0
- package/.agent/workflows/pm2.md +272 -0
- package/.agent/workflows/preview.md +81 -0
- package/.agent/workflows/projects.md +39 -0
- package/.agent/workflows/promote.md +41 -0
- package/.agent/workflows/prompt-optimize.md +38 -0
- package/.agent/workflows/prune.md +31 -0
- package/.agent/workflows/python-review.md +297 -0
- package/.agent/workflows/quality-gate.md +29 -0
- package/.agent/workflows/refactor-clean.md +80 -0
- package/.agent/workflows/resume-session.md +156 -0
- package/.agent/workflows/rules-distill.md +11 -0
- package/.agent/workflows/rust-build.md +187 -0
- package/.agent/workflows/rust-review.md +142 -0
- package/.agent/workflows/rust-test.md +308 -0
- package/.agent/workflows/save-session.md +275 -0
- package/.agent/workflows/sessions.md +333 -0
- package/.agent/workflows/setup-pm.md +80 -0
- package/.agent/workflows/skill-create.md +174 -0
- package/.agent/workflows/skill-health.md +54 -0
- package/.agent/workflows/status.md +86 -0
- package/.agent/workflows/tdd.md +328 -0
- package/.agent/workflows/test-coverage.md +69 -0
- package/.agent/workflows/test.md +144 -0
- package/.agent/workflows/ui-ux-pro-max.md +296 -0
- package/.agent/workflows/update-codemaps.md +72 -0
- package/.agent/workflows/update-docs.md +84 -0
- package/.agent/workflows/verify.md +59 -0
- package/LICENSE +176 -0
- package/README.md +136 -0
- package/RELEASE.md +36 -0
- package/package.json +79 -0
- package/scripts/release-check.js +55 -0
- package/src/bin/cli.js +78 -0
- package/src/lib/installer.js +140 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# đģ Code Craftsmanship Standards
|
|
2
|
+
|
|
3
|
+
This document specifies the coding standards, directory structures, and mandatory design patterns for the Pilo Masterkit.
|
|
4
|
+
|
|
5
|
+
> *"Code is read more often than it is written. Write for the human first, the machine second."*
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## đī¸ 1. Project Architecture (Feature-based)
|
|
10
|
+
|
|
11
|
+
The project uses a **Feature-based Architecture** to ensure high cohesion and low coupling.
|
|
12
|
+
|
|
13
|
+
### Frontend (Next.js 15 App Router)
|
|
14
|
+
- `src/app/`: Define Routes (Pages, Layouts, Loading, Error).
|
|
15
|
+
- `src/components/ui/`: Base UI primitives (shadcn/ui, tailwind-v4).
|
|
16
|
+
- `src/components/features/`: Complex components tied to business logic.
|
|
17
|
+
- `src/hooks/`: Reusable custom React Hooks.
|
|
18
|
+
- `src/lib/`: Utility libraries and service configurations (Prisma, Cloudinary, etc.).
|
|
19
|
+
|
|
20
|
+
### Backend (Node.js / FastAPI)
|
|
21
|
+
- `api/routes/`: Endpoint definitions and routing logic.
|
|
22
|
+
- `api/controllers/`: Core business logic handlers.
|
|
23
|
+
- `api/models/`: Data structure definitions and validation schemas.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## ⥠2. Core Coding Principles
|
|
28
|
+
|
|
29
|
+
### Immutability (CRITICAL)
|
|
30
|
+
- **Rule**: Always create new objects/arrays instead of mutating existing ones.
|
|
31
|
+
- **Pattern**: Use spreads `[...arr]`, `{...obj}` or functional updates.
|
|
32
|
+
- **Reason**: Enhances predictability, debuggability, and compatibility with React's rendering cycle.
|
|
33
|
+
|
|
34
|
+
### Small & Focused Files
|
|
35
|
+
- **Files**: Aim for 200-400 lines typical. **800 lines MAX**.
|
|
36
|
+
- **Functions**: Small and atomic (<50 lines). If a function does two things, split it.
|
|
37
|
+
- **Cohesion**: Keep related logic together; separate unrelated concerns.
|
|
38
|
+
|
|
39
|
+
### Error Handling
|
|
40
|
+
- **No Silencing**: Never silently swallow errors with empty `catch` blocks.
|
|
41
|
+
- **User-Friendly**: Provide clear, non-technical messages in UI components.
|
|
42
|
+
- **Detailed Logging**: Log full error context and stack traces server-side.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## đ 3. Naming Conventions
|
|
47
|
+
|
|
48
|
+
- **Files & Folders**: `kebab-case` (e.g., `user-profile.tsx`, `api-gateway/`).
|
|
49
|
+
- **Components**: `PascalCase` (e.g., `UserProfileCard`).
|
|
50
|
+
- **Variables & Functions**: `camelCase` (e.g., `fetchUserData`).
|
|
51
|
+
- **Constants**: `UPPER_SNAKE_CASE` (e.g., `MAX_RETRY_LIMIT`).
|
|
52
|
+
- **Boolean Variables**: Prefix with `is`, `has`, or `should` (e.g., `isLoading`, `hasError`).
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## đ§š 4. Development Patterns
|
|
57
|
+
|
|
58
|
+
### React 19 & Next.js 15
|
|
59
|
+
- **Server Components (RSC)**: Default to Server Components for data fetching.
|
|
60
|
+
- **Client Components**: Use `"use client"` only when interactivity (hooks/events) is required.
|
|
61
|
+
- **Data Mutations**: Use **Server Actions** for all data-changing operations.
|
|
62
|
+
|
|
63
|
+
### Backend & API
|
|
64
|
+
- **Statelessness**: Every API endpoint must be stateless.
|
|
65
|
+
- **Validation**: Strict schema-based validation using `Zod` (TypeScript) or `Pydantic` (Python).
|
|
66
|
+
- **Graceful Failure**: Return consistent error envelopes with appropriate HTTP status codes.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
> *"Simplicity is the key to brilliance."*
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
trigger: always_on
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# đ CORE RULES & PROTOCOLS / Quy táē¯c & Giao tháģŠc Cáģt lÃĩi
|
|
6
|
+
|
|
7
|
+
> **Dáģą ÃĄn: Pilo Masterkit**
|
|
8
|
+
> **MáģĨc ÄÃch**: Thiáēŋt láēp cÃĄc quy táē¯c váēn hà nh báēĨt biáēŋn cho AI Agent trong dáģą ÃĄn.
|
|
9
|
+
> **Lưu ÃŊ**: Táģp nà y cÃŗ ưu tiÃĒn cao nháēĨt (P0) Äáģi váģi máģi hoáēĄt Äáģng cáģ§a Agent.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## đ 1. Ngôn ngáģ¯ & Giao tiáēŋp (Language & Communication)
|
|
14
|
+
|
|
15
|
+
1. **Giao tiáēŋp & Suy luáēn**: Sáģ dáģĨng **TIáēžNG VIáģT** (Báē¯t buáģc) cho máģi cuáģc háģi thoáēĄi, bÃĄo cÃĄo và giáēŖi thÃch.
|
|
16
|
+
2. **TÃ i liáģu (Artifacts)**: Viáēŋt náģi dung file `.md` (Plan, Task, Walkthrough) báēąng **TIáēžNG VIáģT**.
|
|
17
|
+
3. **Káģš thuáēt & MÃŖ nguáģn**:
|
|
18
|
+
- TÃĒn biáēŋn, hà m, file: **TIáēžNG ANH** (camelCase, snake_case...).
|
|
19
|
+
- Comment trong code: **TIáēžNG ANH** (Äáģ chuáēŠn hÃŗa quy chuáēŠn quáģc táēŋ).
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## đ 2. Chu trÃŦnh PDCA (VÃ˛ng Äáģi QuáēŖn tráģ)
|
|
24
|
+
|
|
25
|
+
Máģi tÃĄc váģĨ láģn (TÃnh nÄng/TÃĄi cáēĨu trÃēc/Sáģa láģi) pháēŖi tuÃĸn tháģ§ nghiÃĒm ngáēˇt chu trÃŦnh 4 bưáģc:
|
|
26
|
+
|
|
27
|
+
1. **PLAN (Láēp káēŋ hoáēĄch)**: PhÃĸn tÃch yÃĒu cáē§u, liáģt kÃĒ file báģ áēŖnh hưáģng và Äáģ xuáēĨt giáēŖi phÃĄp káģš thuáēt rÃĩ rà ng. Luôn láēp káēŋ hoáēĄch trưáģc khi tháģąc hiáģn tÃĄc váģĨ pháģŠc táēĄp. **Quy táē¯c TráēĄng thÃĄi File**: Máģi khi máģt káēŋ hoáēĄch ÄÆ°áģŖc Duyáģt (Approved), Hoà n thà nh (Completed) hoáēˇc Háģ§y báģ (Cancelled), PHáēĸI ghi chÃē tráēĄng thÃĄi áģ Äáē§u file và Äáģi tÃĒn file ÄÃnh kèm tráēĄng thÃĄi ÄÃŗ (VD: `[APPROVED]-plan.md`).
|
|
28
|
+
2. **DO (Tháģąc thi)**: Tháģąc hiáģn công viáģc sau khi káēŋ hoáēĄch ÄÆ°áģŖc phÃĒ duyáģt. TuÃĸn tháģ§ tiÃĒu chuáēŠn mÃŖ nguáģn sáēĄch (Clean Code).
|
|
29
|
+
3. **CHECK (Kiáģm tra)**: CháēĄy kiáģm tháģ, kiáģm tra láģi cÃē phÃĄp (Lint) và xÃĄc minh káēŋt quáēŖ. **Báēąng cháģŠng trưáģc, kháēŗng Äáģnh sau**.
|
|
30
|
+
4. **ACT (Táģi ưu)**: Kháē¯c pháģĨc láģi phÃĄt sinh, cáēp nháēt tà i liáģu và ÄÃŗng phiÃĒn là m viáģc. Náēŋu gáēˇp váēĨn Äáģ báēĨt ngáģ, hÃŖy DáģĒNG Láē I và láēp láēĄi káēŋ hoáēĄch (Re-plan).
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## đ 3. Cáģng Kiáģm soÃĄt Socratic (Socratic Gate)
|
|
35
|
+
|
|
36
|
+
**Luáēt BáēĨt Biáēŋn**: Không bao giáģ tháģąc hiáģn công viáģc ngay khi nháēn yÃĒu cáē§u mÆĄ háģ hoáēˇc cÃŗ ráģ§i ro cao. AI pháēŖi cháģ§ Äáģng:
|
|
37
|
+
- Äáēˇt Ãt nháēĨt **3 cÃĸu háģi chiáēŋn lưáģŖc** Äáģ xÃĄc Äáģnh máģĨc tiÃĒu và pháēĄm vi náēŋu yÃĒu cáē§u chưa rÃĩ rà ng.
|
|
38
|
+
- ÄÃĄnh giÃĄ ráģ§i ro áēŖnh hưáģng Äáēŋn háģ tháģng hiáģn táēĄi. Náēŋu cÃŗ ráģ§i ro: **CáēĸNH BÃO**.
|
|
39
|
+
- **No Laziness**: TÃŦm kiáēŋm nguyÃĒn nhÃĸn gáģc ráģ
(Root Cause) thay vÃŦ cháģ sáģa cháģ¯a báģ náģi.
|
|
40
|
+
- **Task Limit**: Máģt tÃĄc váģĨ cháģ ÄÆ°áģŖc tháģąc hiáģn táģi Äa 3 láē§n.
|
|
41
|
+
- **Time Limit**: Máģi láē§n tháģąc hiáģn táģi Äa 10 phÃēt. Náēŋu treo quÃĄ 10 phÃēt, láēp táģŠc dáģĢng tÃĄc váģĨ. Náēŋu dáģą tÃnh cáē§n nhiáģu tháģi gian hÆĄn, pháēŖi ÄÆ°a ra tháģi gian ưáģc tÃnh và háģi ÃŊ kiáēŋn ngưáģi dÚng.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## đĄī¸ 4. BáēŖo máēt & An toà n (Security Armor)
|
|
46
|
+
|
|
47
|
+
- **Zero Secrets**: Tuyáģt Äáģi không lưu tráģ¯ API Keys, máēt kháēŠu và o Git. Kiáģm tra `.gitignore` thưáģng xuyÃĒn.
|
|
48
|
+
- **Sanitization**: Kiáģm tra káģš cÃĄc dáģ¯ liáģu Äáē§u và o (Input) và sáģ dáģĨng Whitelist cho cÃĄc káēŋt náģi máēĄng (náēŋu cÃŗ).
|
|
49
|
+
- **Audit Requirement**: Luôn cháēĄy quÊt báēŖo máēt (`security-reviewer`) trưáģc khi bà n giao cÃĄc ÄoáēĄn mÃŖ nháēĄy cáēŖm.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## đ§š 5. TiÃĒu chuáēŠn Káģš thuáēt (Technical Standards)
|
|
54
|
+
|
|
55
|
+
- **Immutability**: Ưu tiÃĒn táēĄo Äáģi tưáģŖng máģi thay vÃŦ thay Äáģi tráģąc tiáēŋp (mutate) Äáģi tưáģŖng cÅŠ.
|
|
56
|
+
- **Simplicity First**: Ưu tiÃĒn giáēŖi phÃĄp ÄÆĄn giáēŖn và thanh láģch nháēĨt. TrÃĄnh over-engineering.
|
|
57
|
+
- **Modularization**: Không try-hard code trong máģt file quÃĄ láģn. Chia nháģ file (<400 dÃ˛ng), ưu tiÃĒn tÃĄch components/logic dÚng chung Äáģ tÄng kháēŖ nÄng tÃĄi sáģ dáģĨng.
|
|
58
|
+
- **Model Selection**: Táģą cháģn model phÚ háģŖp (flash cho planning/review, pro cho coding/debug sÃĸu).
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## đ 6. Táģ cháģŠc & Váģ sinh Ngáģ¯ cáēŖnh (Context Hygiene)
|
|
63
|
+
|
|
64
|
+
- **Artifacts Location**: Lưu tráģ¯ file và o ÄÃēng thư máģĨc chuyÃĒn biáģt. Không Äáģ file táēĄm áģ thư máģĨc gáģc.
|
|
65
|
+
- **Context Awareness**: Luôn Äáģc `PROJECT_MAP.md` và `PILO_MASTER.md` khi báē¯t Äáē§u máģt phiÃĒn là m viáģc máģi. Äáģc cÃŗ cháģn láģc (Selective Reading) cÃĄc file cáē§n thiáēŋt thay vÃŦ quÊt toà n báģ project.
|
|
66
|
+
- **Memory Sync**: Luôn cáēp nháēt memories (hoáēˇc nháēt kÃŊ công viáģc) sau máģi phiÃĒn là m viáģc (báēĨt káģ láģn nháģ) và máģi khi láēp máģt káēŋ hoáēĄch.
|
|
67
|
+
- **Memory Hygiene**: Táģą Äáģng ÄÃĄnh giÃĄ và dáģn dáēšp memory Äáģnh káģŗ (hoáēˇc báēąng láģnh `/clean_memory`). Háģ tháģng **PHáēĸI táģng háģŖp, cháē¯t láģc nháģ¯ng tinh hoa, quyáēŋt Äáģnh quan tráģng**, Äáģng tháģi xÃŗa báģ triáģt Äáģ cÃĄc log/ngáģ¯ cáēŖnh dư tháģĢa Äáģ trÃĄnh "loÃŖng" báģ nháģ.
|
|
68
|
+
- **Customization**: CÃŗ tháģ táēĄo thÃĒm quy táē¯c, káģš nÄng, hiáēŋn phÃĄp hoáēˇc workflows máģi báēąng láģnh slash tÆ°ÆĄng áģŠng.
|
|
69
|
+
- **Documentation Sync**: Máģi thay Äáģi kiáēŋn trÃēc pháēŖi ÄÆ°áģŖc cáēp nháēt ngay láēp táģŠc và o báēŖn Äáģ dáģą ÃĄn.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
> *"Orchestrating the technology of the future with discipline and soul."*
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# đēī¸ Project Map / BáēŖn Äáģ Äiáģu hưáģng Dáģą ÃĄn
|
|
2
|
+
|
|
3
|
+
> **Dáģą ÃĄn**: Pilo Masterkit
|
|
4
|
+
> **Vai trÃ˛**: Cung cáēĨp cÃĄi nhÃŦn táģng quan váģ cáēĨu trÃēc háģ tháģng, quy chuáēŠn káģš thuáēt và triáēŋt lÃŊ váēn hà nh.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## đī¸ QuáēŖn tráģ Háģ tháģng (.agent/)
|
|
9
|
+
|
|
10
|
+
ÄÃĸy là "nÃŖo báģ" cáģ§a dáģą ÃĄn, cháģŠa cÃĄc quy táē¯c và tháģąc tháģ AI:
|
|
11
|
+
|
|
12
|
+
- **[PILO_MASTER.md](../agents/PILO_MASTER.md)**: NhÃĸn dáēĄng chÃnh & Äiáģu pháģi viÃĒn (Senior Architect).
|
|
13
|
+
- **[CORE_RULES.md](CORE_RULES.md)**: Giao tháģŠc báē¯t buáģc (P0), PDCA, Socratic Gate.
|
|
14
|
+
- **[SECURITY_ARMOR.md](SECURITY_ARMOR.md)**: Quy chuáēŠn báēŖo máēt và quÊt láģ háģng.
|
|
15
|
+
- **`agents/`**: Danh sÃĄch 20+ chuyÃĒn gia káģš thuáēt (Planner, Debugger, v.v.).
|
|
16
|
+
- **`skills/`**: Thư viáģn 125+ káģš nÄng chuyÃĒn sÃĸu (UI/UX Pro, React Expert, v.v.).
|
|
17
|
+
- **`workflows/`**: CÃĄc quy trÃŦnh táģą Äáģng hÃŗa kÃch hoáēĄt báēąng Slash Command.
|
|
18
|
+
|
|
19
|
+
### đ Giao tháģŠc Äáģc File (Reading Protocol)
|
|
20
|
+
> **Selective Reading**: AI PHáēĸI Äáģc cÃŗ cháģn láģc cÃĄc file cáē§n thiáēŋt dáģąa trÃĒn yÃĒu cáē§u cáģ§a ngưáģi dÚng thay vÃŦ quÊt toà n báģ project. HÃŖy ưu tiÃĒn cÃĄc sÆĄ Äáģ kiáēŋn trÃēc và file quy táē¯c trưáģc khi Äi sÃĸu và o mÃŖ nguáģn.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## đģ TiÃĒu chuáēŠn Káģš thuáēt (Technical Standards)
|
|
25
|
+
|
|
26
|
+
CÃĄc quy ưáģc báē¯t buáģc cho mÃŖ nguáģn:
|
|
27
|
+
|
|
28
|
+
- **[CODE_STANDARDS.md](../../products/CODE_STANDARDS.md)**: Quy táē¯c Äáēˇt tÃĒn và cáēĨu trÃēc file.
|
|
29
|
+
- **[SYSTEM_DESIGN.md](../../products/SYSTEM_DESIGN.md)**: Kiáēŋn trÃēc háģ tháģng và tháēŠm máģš (Master + Overrides).
|
|
30
|
+
- **[TESTING_POLICY.md](../../products/TESTING_POLICY.md)**: Quy trÃŦnh TDD và yÃĒu cáē§u Coverage >80%.
|
|
31
|
+
- **[GIT_WORKFLOW.md](../../products/GIT_WORKFLOW.md)**: Conventional Commits và chiáēŋn lưáģŖc nhÃĄnh.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## đ Thư máģĨc CháģŠc nÄng (Functional Directories)
|
|
36
|
+
|
|
37
|
+
- **`lessons/`**: Bà i háģc kinh nghiáģm và kinh nghiáģm tÃch lÅŠy sau máģi task.
|
|
38
|
+
- **`reports/`**: BÃĄo cÃĄo tiáēŋn Äáģ, káēŋt quáēŖ audit và hiáģu nÄng.
|
|
39
|
+
- **`plans/`**: Káēŋ hoáēĄch triáģn khai chi tiáēŋt cho cÃĄc tÃnh nÄng máģi.
|
|
40
|
+
- **`status/`**: TráēĄng thÃĄi hiáģn táēĄi cáģ§a dáģą ÃĄn và cÃĄc module.
|
|
41
|
+
- **`tasks/`**: Nhiáģm váģĨ chi tiáēŋt (todo, in-progress, done).
|
|
42
|
+
- **`logs/`**: Nháēt kÃŊ hoáēĄt Äáģng chi tiáēŋt cáģ§a Agent và háģ tháģng.
|
|
43
|
+
- **`walkthroughs/`**: Hưáģng dáēĢn táģĢng bưáģc cho cÃĄc tÃnh nÄng pháģŠc táēĄp.
|
|
44
|
+
- **`producs/`**: Tà i liáģu Äáēˇc táēŖ sáēŖn pháēŠm (specs, PRD, roadmap).
|
|
45
|
+
- **`.agent/scripts/`**: CÃĄc káģch báēŖn Master Audit (`checklist.py`, `verify_all.py`).
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## đ ī¸ TráēĄng thÃĄi Háģ tháģng
|
|
50
|
+
|
|
51
|
+
| Thà nh pháē§n | TráēĄng thÃĄi | Ghi chÃē |
|
|
52
|
+
| :--- | :--- | :--- |
|
|
53
|
+
| **Agent Fleet** | â
Sáēĩn sà ng | 20+ Agents ÄÃŖ náēĄp |
|
|
54
|
+
| **Skill Matrix** | â
Sáēĩn sà ng | 125+ Skills ÄÃŖ náēĄp |
|
|
55
|
+
| **Security Gate** | â
KÃch hoáēĄt | Báē¯t buáģc quÊt trưáģc commit |
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
> *"Orchestrating the technology of the future with discipline and soul."*
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# đ§Ē Quality Assurance & Testing Policy
|
|
2
|
+
|
|
3
|
+
This document defines the rigorous automated testing standards for the Pilo Masterkit. **Zero-Bug Tolerance** is our ultimate target.
|
|
4
|
+
|
|
5
|
+
> *"If it's not tested, it's broken."*
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## đ 1. The Testing Pyramid
|
|
10
|
+
|
|
11
|
+
1. **Unit Tests (Base)**: Individual functions, utilities, and components (Vitest/Pytest).
|
|
12
|
+
2. **Integration Tests (Middle)**: Interaction between modules and service integrations.
|
|
13
|
+
3. **End-to-End (E2E) Tests (Peak)**: Critical user flows and frontend-backend interactions (Playwright).
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## đ 2. Mandatory TDD Workflow (CRITICAL)
|
|
18
|
+
|
|
19
|
+
**Test-Driven Development (TDD)** is mandatory for all new features and bug fixes. Follow the **Red-Green-Refactor** cycle:
|
|
20
|
+
|
|
21
|
+
1. **RED**: Write a failing test for the new functionality or bug. (Viáēŋt test tháēĨt báēĄi trưáģc).
|
|
22
|
+
2. **GREEN**: Write the minimal implementation to make the test pass. (Viáēŋt code táģi thiáģu Äáģ pass).
|
|
23
|
+
3. **REFACTOR**: Optimize the code and test suite for clarity and performance. (Táģi ưu hÃŗa mÃŖ nguáģn).
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## đ ī¸ 3. Testing Stack & Tools
|
|
28
|
+
|
|
29
|
+
- **Core Engine**: Vitest (Web), Pytest (Python).
|
|
30
|
+
- **Automation**: Playwright (E2E, Cross-browser).
|
|
31
|
+
- **Mocking**: MSW (Mock Service Worker) for API layer simulation.
|
|
32
|
+
- **Component Test**: Testing Library (React/Vue/Svelte).
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## đ 4. Operational Requirements
|
|
37
|
+
|
|
38
|
+
- **Root Cause Analysis**: Every failing test must be analyzed for its root cause. Fix the cause, not the symptoms.
|
|
39
|
+
- **Regression Guard**: Every discovered bug MUST have a corresponding regression test to prevent its return.
|
|
40
|
+
- **Coverage Goal**:
|
|
41
|
+
- **Business Logic**: 80%+ mandatory coverage.
|
|
42
|
+
- **Main API Endpoints**: 100% coverage (Success & Error cases).
|
|
43
|
+
- **UI Components**: Ensure error, loading, and success states are tested.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## đ 5. Verification & Reporting
|
|
48
|
+
|
|
49
|
+
- **Manual Audit**: Use `python .agent/scripts/checklist.py .` before completion.
|
|
50
|
+
- **Evidence Collection**: Test logs and coverage reports MUST be included in the final `walkthrough.md`.
|
|
51
|
+
- **Pre-Commit Check**: No code shall be committed with failing tests or critical lint errors.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
> *"Quality is not an act, it is a habit."*
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# đĄī¸ SECURITY ARMOR / Giao tháģŠc BáēŖo máēt Cáģt lÃĩi
|
|
2
|
+
|
|
3
|
+
> **Dáģą ÃĄn**: Pilo Masterkit
|
|
4
|
+
> **NguyÃĒn táē¯c**: BáēŖo máēt không pháēŖi là máģt sáēŖn pháēŠm, mà là máģt quy trÃŦnh xuyÃĒn suáģt (Security-First).
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## đ 1. QuáēŖn lÃŊ BÃ máēt (Zero Secrets)
|
|
9
|
+
|
|
10
|
+
- **Tuyáģt Äáģi cáēĨm**: Không bao giáģ hardcode API Keys, máēt kháēŠu, tokens và o mÃŖ nguáģn hoáēˇc commit lÃĒn Git.
|
|
11
|
+
- **Lưu tráģ¯**: Cháģ sáģ dáģĨng biáēŋn môi trưáģng (`.env`) hoáēˇc háģ tháģng quáēŖn lÃŊ bà máēt chuyÃĒn dáģĨng.
|
|
12
|
+
- **XÃĄc minh**: Luôn kiáģm tra file `.gitignore` Äáģ ÄáēŖm báēŖo cÃĄc file nháēĄy cáēŖm không báģ láģ.
|
|
13
|
+
- **Sáģą cáģ**: Náēŋu phÃĄt hiáģn rÃ˛ ráģ, ngay láēp táģŠc: **DáģĢng tiáēŋn trÃŦnh -> Thu háģi Key -> TáēĄo máģi Key -> QuÊt toà n báģ láģch sáģ Git.**
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## đ ī¸ 2. An toà n Runtime & Công cáģĨ
|
|
18
|
+
|
|
19
|
+
- **Quyáģn háēĄn táģi thiáģu (Least Privilege)**: AI cháģ hoáēĄt Äáģng trong pháēĄm vi thư máģĨc dáģą ÃĄn ÄÆ°áģŖc cáēĨp quyáģn.
|
|
20
|
+
- **HáēĄn cháēŋ háģ tháģng**: CáēĨm AI táģą ÃŊ thay Äáģi cÃĄc cáēĨu trÃēc cáģt lÃĩi cáģ§a háģ Äiáģu hà nh (OS) tráģĢ khi cÃŗ cháģ tháģ cáģĨ tháģ vÃ ÄÆ°áģŖc ngưáģi dÚng phÃĒ duyáģt.
|
|
21
|
+
- **Káēŋt náģi máēĄng**: Sáģ dáģĨng Whitelist cho cÃĄc káēŋt náģi ra ngoà i. Luôn háģi ÃŊ kiáēŋn ngưáģi dÚng trưáģc khi tháģąc hiáģn cÃĄc yÃĒu cáē§u máēĄng pháģŠc táēĄp.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## đ§Ē 3. Kiáģm tra BáēŖo máēt (Security Audit)
|
|
26
|
+
|
|
27
|
+
**Trưáģc khi bà n giao báēĨt káģŗ ÄoáēĄn mÃŖ nà o, AI PHáēĸI:**
|
|
28
|
+
|
|
29
|
+
1. **Sanitization**: Kiáģm tra káģš cÃĄc dáģ¯ liáģu Äáē§u và o (Input) táģĢ ngưáģi dÚng Äáģ ngÄn cháēˇn SQL Injection và XSS.
|
|
30
|
+
2. **Vulnerability Scan**: Sáģ dáģĨng káģš nÄng `vulnerability-scanner` hoáēˇc cháēĄy script `security_scan.py` náēŋu cÃŗ.
|
|
31
|
+
3. **Dependency Check**: Kiáģm tra cÃĄc thư viáģn bÃĒn tháģŠ ba Äáģ ÄáēŖm báēŖo không cÃŗ láģ háģng báēŖo máēt ÄÃŖ biáēŋt (CVE).
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## đ 4. Danh sÃĄch Kiáģm tra (Security Checklist)
|
|
36
|
+
|
|
37
|
+
- [ ] Không cÃŗ thông tin nháēĄy cáēŖm trong mÃŖ nguáģn.
|
|
38
|
+
- [ ] Dáģ¯ liáģu Äáē§u và o ÄÃŖ ÄÆ°áģŖc là m sáēĄch và xÃĄc tháģąc.
|
|
39
|
+
- [ ] CÃĄc thông bÃĄo láģi không là m láģ thông tin cáēĨu hÃŦnh háģ tháģng.
|
|
40
|
+
- [ ] Máēt kháēŠu/Token ÄÆ°áģŖc mÃŖ hÃŗa an toà n náēŋu ÄÆ°áģŖc lưu tráģ¯.
|
|
41
|
+
- [ ] Quyáģn truy cáēp táģp tin (File Permissions) ÄÆ°áģŖc thiáēŋt láēp ÄÃēng.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
> *"Security is a process, not a destination."*
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# đŋ Version Orchestration & Collaboration
|
|
2
|
+
|
|
3
|
+
This document defines the Git workflow, branching strategy, and commit message standards for the Pilo Masterkit to ensure a clean, traceable, and professional history.
|
|
4
|
+
|
|
5
|
+
> *"Clean Git history is as important as clean code."*
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## đŋ 1. Modular Branching Strategy
|
|
10
|
+
|
|
11
|
+
- **`main`**: The source of truth. Always stable and production-ready.
|
|
12
|
+
- **`dev`**: The primary integration branch for new features and fixes.
|
|
13
|
+
- **`feature/[name]`**: Dedicated branch for developing a specific feature.
|
|
14
|
+
- **`bugfix/[name]`**: Dedicated branch for fixing identified bugs.
|
|
15
|
+
- **`hotfix/[name]`**: Urgent production fixes.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## đŦ 2. Conventional Commit Standards
|
|
20
|
+
|
|
21
|
+
Every commit message MUST follow the **Conventional Commits** format: `type(scope): description`.
|
|
22
|
+
|
|
23
|
+
| Type | Description |
|
|
24
|
+
| :--- | :--- |
|
|
25
|
+
| **feat** | A new feature or capability. |
|
|
26
|
+
| **fix** | A bug fix. |
|
|
27
|
+
| **docs** | Documentation-only changes. |
|
|
28
|
+
| **style** | Formatting, missing semi-colons, etc. (no business logic change). |
|
|
29
|
+
| **refactor** | Code change that neither fixes a bug nor adds a feature. |
|
|
30
|
+
| **perf** | A code change that improves performance. |
|
|
31
|
+
| **test** | Adding missing tests or correcting existing tests. |
|
|
32
|
+
| **chore** | Changes to the build process, auxiliary tools, or libraries. |
|
|
33
|
+
| **ci** | Changes to CI configuration files and scripts. |
|
|
34
|
+
|
|
35
|
+
*Example: `feat(auth): add JWT login support`*
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## đ 3. Pull Request (PR) Protocol
|
|
40
|
+
|
|
41
|
+
Before submitting or merging any PR, the AI Task Force must ensure:
|
|
42
|
+
|
|
43
|
+
1. **Protocol Verification**: All code adheres to `CORE_RULES.md` and `CODE_CRAFTSMANSHIP.md`.
|
|
44
|
+
2. **Quality Gate**:
|
|
45
|
+
- `python .agent/scripts/checklist.py .` must pass with zero critical blockers.
|
|
46
|
+
- All tests pass with **80%+ coverage**.
|
|
47
|
+
3. **Walkthrough Inclusion**: A final `walkthrough.md` report must be provided, detailing:
|
|
48
|
+
- What changed and why.
|
|
49
|
+
- Evidence of successful tests (logs/screenshots).
|
|
50
|
+
- Side-effects analyzed via mental simulation.
|
|
51
|
+
4. **Knowledge Capture**: Any important project context, architectural decisions, or lessons learned must be updated in `.agent/tasks/lessons.md`.
|
|
52
|
+
5. **Approval**: Final confirmation from the User or a senior AI Orchestrator.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## đ§š 4. Repository Hygiene
|
|
57
|
+
|
|
58
|
+
- **Micro-Commits**: Prefer small, atomic commits covering a single logical change.
|
|
59
|
+
- **Zero Secrets**: Strictly prohibit committing `.env` files, API keys, or any sensitive credentials.
|
|
60
|
+
- **Sanitized History**: Use `rebase` (where appropriate) to keep a linear and clean history.
|
|
61
|
+
- **File Integrity**: Never leave temporary files, build artifacts, or IDE configs in the repository.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
> *"Orchestrate the history as you orchestrate the code."*
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# đ Workflow Orchestration Protocols
|
|
2
|
+
|
|
3
|
+
This document defines the advanced operational workflows for the Pilo Masterkit. These rules ensure autonomy, elegance, and continuous self-improvement.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Plan Mode Default
|
|
8
|
+
- **Trigger**: Enter plan mode for ANY non-trivial task (3+ steps or architectural decisions).
|
|
9
|
+
- **Control**: If something goes sideways, **STOP and re-plan immediately** â don't keep pushing.
|
|
10
|
+
- **Verification**: Use plan mode for verification steps, not just building.
|
|
11
|
+
- **Spec First**: Write detailed specs upfront to reduce ambiguity.
|
|
12
|
+
|
|
13
|
+
## 2. Subagent Strategy
|
|
14
|
+
- **Clean Context**: Use subagents liberally to keep main context window clean.
|
|
15
|
+
- **Delegation**: Offload research, exploration, and parallel analysis to specialized subagents.
|
|
16
|
+
- **Scale**: For complex problems, throw more compute at it via multiple parallel subagents.
|
|
17
|
+
- **Focus**: One specific task per subagent for maximum accuracy.
|
|
18
|
+
|
|
19
|
+
## 3. Self-Improvement Loop
|
|
20
|
+
- **Memory Update**: After ANY correction from the user: update `.agent/tasks/lessons.md` with the new pattern.
|
|
21
|
+
- **Preventive Rules**: Write rules for yourself in this project to prevent repeating the same mistake.
|
|
22
|
+
- **Iteration**: Ruthlessly iterate on these lessons until the mistake rate drops.
|
|
23
|
+
- **Awareness**: Review previous lessons at the start of every session.
|
|
24
|
+
|
|
25
|
+
## 4. Verification Before Done
|
|
26
|
+
- **No Assumptions**: Never mark a task complete without proving it works.
|
|
27
|
+
- **Diff Analysis**: Diff behavior between the original code and your changes.
|
|
28
|
+
- **Peer Review**: Ask yourself: *"Would a staff engineer approve this change?"*.
|
|
29
|
+
- **Demonstration**: Run tests, check logs, and clearly demonstrate correctness to the user.
|
|
30
|
+
|
|
31
|
+
## 5. Demand Elegance (Balanced)
|
|
32
|
+
- **Pause & Reflect**: For non-trivial changes, pause and ask: *"Is there a more elegant way?"*.
|
|
33
|
+
- **Refinement**: If a fix feels hacky: *"Knowing everything I know, implement the elegant solution instead"*.
|
|
34
|
+
- **Practicality**: Skip this for simple, obvious fixes â do not over-engineer.
|
|
35
|
+
- **Self-Critique**: Challenge your own work before presenting it.
|
|
36
|
+
|
|
37
|
+
## 6. Autonomous Bug Fixing
|
|
38
|
+
- **Direct Resolution**: When given a bug report: just fix it. Don't ask for hand-holding.
|
|
39
|
+
- **Root Cause**: Identify logs, errors, or failing tests â then resolve them thoroughly.
|
|
40
|
+
- **Minimal User Burden**: Aim for zero context switching required from the user.
|
|
41
|
+
- **CI Ownership**: Fix failing CI tests automatically without being told how.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Task Management Lifecycle
|
|
46
|
+
|
|
47
|
+
1. **Plan First**: Write the plan to `.agent/tasks/todo.md` with checkable items.
|
|
48
|
+
2. **Verify Plan**: Check in with the user (if required) before starting implementation.
|
|
49
|
+
3. **Track Progress**: Mark items as complete as you progress.
|
|
50
|
+
4. **Explain Changes**: Provide a high-level summary at each major step.
|
|
51
|
+
5. **Document Results**: Add a "Review" section to `.agent/tasks/todo.md` after completion.
|
|
52
|
+
6. **Capture Lessons**: Update `.agent/tasks/lessons.md` immediately after any corrections.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
> *"Efficiency is doing things right; effectiveness is doing the right things."*
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Auto Preview - Antigravity Kit
|
|
4
|
+
==============================
|
|
5
|
+
Manages (start/stop/status) the local development server for previewing the application.
|
|
6
|
+
|
|
7
|
+
Usage:
|
|
8
|
+
python .agent/scripts/auto_preview.py start [port]
|
|
9
|
+
python .agent/scripts/auto_preview.py stop
|
|
10
|
+
python .agent/scripts/auto_preview.py status
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
import os
|
|
14
|
+
import sys
|
|
15
|
+
import time
|
|
16
|
+
import json
|
|
17
|
+
import signal
|
|
18
|
+
import argparse
|
|
19
|
+
import subprocess
|
|
20
|
+
from pathlib import Path
|
|
21
|
+
|
|
22
|
+
AGENT_DIR = Path(".agent")
|
|
23
|
+
PID_FILE = AGENT_DIR / "preview.pid"
|
|
24
|
+
LOG_FILE = AGENT_DIR / "preview.log"
|
|
25
|
+
|
|
26
|
+
def get_project_root():
|
|
27
|
+
return Path(".").resolve()
|
|
28
|
+
|
|
29
|
+
def is_running(pid):
|
|
30
|
+
try:
|
|
31
|
+
os.kill(pid, 0)
|
|
32
|
+
return True
|
|
33
|
+
except OSError:
|
|
34
|
+
return False
|
|
35
|
+
|
|
36
|
+
def get_start_command(root):
|
|
37
|
+
pkg_file = root / "package.json"
|
|
38
|
+
if not pkg_file.exists():
|
|
39
|
+
return None
|
|
40
|
+
|
|
41
|
+
with open(pkg_file, 'r') as f:
|
|
42
|
+
data = json.load(f)
|
|
43
|
+
|
|
44
|
+
scripts = data.get("scripts", {})
|
|
45
|
+
if "dev" in scripts:
|
|
46
|
+
return ["npm", "run", "dev"]
|
|
47
|
+
elif "start" in scripts:
|
|
48
|
+
return ["npm", "start"]
|
|
49
|
+
return None
|
|
50
|
+
|
|
51
|
+
def start_server(port=3000):
|
|
52
|
+
if PID_FILE.exists():
|
|
53
|
+
try:
|
|
54
|
+
pid = int(PID_FILE.read_text().strip())
|
|
55
|
+
if is_running(pid):
|
|
56
|
+
print(f"â ī¸ Preview already running (PID: {pid})")
|
|
57
|
+
return
|
|
58
|
+
except:
|
|
59
|
+
pass # Invalid PID file
|
|
60
|
+
|
|
61
|
+
root = get_project_root()
|
|
62
|
+
cmd = get_start_command(root)
|
|
63
|
+
|
|
64
|
+
if not cmd:
|
|
65
|
+
print("â No 'dev' or 'start' script found in package.json")
|
|
66
|
+
sys.exit(1)
|
|
67
|
+
|
|
68
|
+
# Add port env var if needed (simple heuristic)
|
|
69
|
+
env = os.environ.copy()
|
|
70
|
+
env["PORT"] = str(port)
|
|
71
|
+
|
|
72
|
+
print(f"đ Starting preview on port {port}...")
|
|
73
|
+
|
|
74
|
+
with open(LOG_FILE, "w") as log:
|
|
75
|
+
process = subprocess.Popen(
|
|
76
|
+
cmd,
|
|
77
|
+
cwd=str(root),
|
|
78
|
+
stdout=log,
|
|
79
|
+
stderr=log,
|
|
80
|
+
env=env,
|
|
81
|
+
shell=True # Required for npm on windows often, or consistent path handling
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
PID_FILE.write_text(str(process.pid))
|
|
85
|
+
print(f"â
Preview started! (PID: {process.pid})")
|
|
86
|
+
print(f" Logs: {LOG_FILE}")
|
|
87
|
+
print(f" URL: http://localhost:{port}")
|
|
88
|
+
|
|
89
|
+
def stop_server():
|
|
90
|
+
if not PID_FILE.exists():
|
|
91
|
+
print("âšī¸ No preview server found.")
|
|
92
|
+
return
|
|
93
|
+
|
|
94
|
+
try:
|
|
95
|
+
pid = int(PID_FILE.read_text().strip())
|
|
96
|
+
if is_running(pid):
|
|
97
|
+
# Try gentle kill first
|
|
98
|
+
os.kill(pid, signal.SIGTERM) if sys.platform != 'win32' else subprocess.call(['taskkill', '/F', '/T', '/PID', str(pid)])
|
|
99
|
+
print(f"đ Preview stopped (PID: {pid})")
|
|
100
|
+
else:
|
|
101
|
+
print("âšī¸ Process was not running.")
|
|
102
|
+
except Exception as e:
|
|
103
|
+
print(f"â Error stopping server: {e}")
|
|
104
|
+
finally:
|
|
105
|
+
if PID_FILE.exists():
|
|
106
|
+
PID_FILE.unlink()
|
|
107
|
+
|
|
108
|
+
def status_server():
|
|
109
|
+
running = False
|
|
110
|
+
pid = None
|
|
111
|
+
url = "Unknown"
|
|
112
|
+
|
|
113
|
+
if PID_FILE.exists():
|
|
114
|
+
try:
|
|
115
|
+
pid = int(PID_FILE.read_text().strip())
|
|
116
|
+
if is_running(pid):
|
|
117
|
+
running = True
|
|
118
|
+
# Heuristic for URL, strictly we should save it
|
|
119
|
+
url = "http://localhost:3000"
|
|
120
|
+
except:
|
|
121
|
+
pass
|
|
122
|
+
|
|
123
|
+
print("\n=== Preview Status ===")
|
|
124
|
+
if running:
|
|
125
|
+
print(f"â
Status: Running")
|
|
126
|
+
print(f"đĸ PID: {pid}")
|
|
127
|
+
print(f"đ URL: {url} (Likely)")
|
|
128
|
+
print(f"đ Logs: {LOG_FILE}")
|
|
129
|
+
else:
|
|
130
|
+
print("âĒ Status: Stopped")
|
|
131
|
+
print("===================\n")
|
|
132
|
+
|
|
133
|
+
def main():
|
|
134
|
+
parser = argparse.ArgumentParser()
|
|
135
|
+
parser.add_argument("action", choices=["start", "stop", "status"])
|
|
136
|
+
parser.add_argument("port", nargs="?", default="3000")
|
|
137
|
+
|
|
138
|
+
args = parser.parse_args()
|
|
139
|
+
|
|
140
|
+
if args.action == "start":
|
|
141
|
+
start_server(int(args.port))
|
|
142
|
+
elif args.action == "stop":
|
|
143
|
+
stop_server()
|
|
144
|
+
elif args.action == "status":
|
|
145
|
+
status_server()
|
|
146
|
+
|
|
147
|
+
if __name__ == "__main__":
|
|
148
|
+
main()
|