@hivehub/rulebook 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/LICENSE +191 -0
- package/README.md +539 -0
- package/dist/agents/claude-code.d.ts +69 -0
- package/dist/agents/claude-code.d.ts.map +1 -0
- package/dist/agents/claude-code.js +180 -0
- package/dist/agents/claude-code.js.map +1 -0
- package/dist/agents/cursor-agent.d.ts +184 -0
- package/dist/agents/cursor-agent.d.ts.map +1 -0
- package/dist/agents/cursor-agent.js +299 -0
- package/dist/agents/cursor-agent.js.map +1 -0
- package/dist/agents/gemini-cli.d.ts +69 -0
- package/dist/agents/gemini-cli.d.ts.map +1 -0
- package/dist/agents/gemini-cli.js +180 -0
- package/dist/agents/gemini-cli.js.map +1 -0
- package/dist/cli/commands.d.ts +57 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +1370 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/docs-prompts.d.ts +3 -0
- package/dist/cli/docs-prompts.d.ts.map +1 -0
- package/dist/cli/docs-prompts.js +45 -0
- package/dist/cli/docs-prompts.js.map +1 -0
- package/dist/cli/prompts.d.ts +6 -0
- package/dist/cli/prompts.d.ts.map +1 -0
- package/dist/cli/prompts.js +376 -0
- package/dist/cli/prompts.js.map +1 -0
- package/dist/core/agent-manager.d.ts +89 -0
- package/dist/core/agent-manager.d.ts.map +1 -0
- package/dist/core/agent-manager.js +546 -0
- package/dist/core/agent-manager.js.map +1 -0
- package/dist/core/auto-fixer.d.ts +14 -0
- package/dist/core/auto-fixer.d.ts.map +1 -0
- package/dist/core/auto-fixer.js +207 -0
- package/dist/core/auto-fixer.js.map +1 -0
- package/dist/core/changelog-generator.d.ts +44 -0
- package/dist/core/changelog-generator.d.ts.map +1 -0
- package/dist/core/changelog-generator.js +222 -0
- package/dist/core/changelog-generator.js.map +1 -0
- package/dist/core/cli-bridge.d.ts +113 -0
- package/dist/core/cli-bridge.d.ts.map +1 -0
- package/dist/core/cli-bridge.js +1094 -0
- package/dist/core/cli-bridge.js.map +1 -0
- package/dist/core/config-manager.d.ts +65 -0
- package/dist/core/config-manager.d.ts.map +1 -0
- package/dist/core/config-manager.js +266 -0
- package/dist/core/config-manager.js.map +1 -0
- package/dist/core/coverage-checker.d.ts +14 -0
- package/dist/core/coverage-checker.d.ts.map +1 -0
- package/dist/core/coverage-checker.js +176 -0
- package/dist/core/coverage-checker.js.map +1 -0
- package/dist/core/custom-templates.d.ts +27 -0
- package/dist/core/custom-templates.d.ts.map +1 -0
- package/dist/core/custom-templates.js +122 -0
- package/dist/core/custom-templates.js.map +1 -0
- package/dist/core/dependency-checker.d.ts +21 -0
- package/dist/core/dependency-checker.d.ts.map +1 -0
- package/dist/core/dependency-checker.js +247 -0
- package/dist/core/dependency-checker.js.map +1 -0
- package/dist/core/detector.d.ts +3 -0
- package/dist/core/detector.d.ts.map +1 -0
- package/dist/core/detector.js +1443 -0
- package/dist/core/detector.js.map +1 -0
- package/dist/core/docs-generator.d.ts +9 -0
- package/dist/core/docs-generator.d.ts.map +1 -0
- package/dist/core/docs-generator.js +531 -0
- package/dist/core/docs-generator.js.map +1 -0
- package/dist/core/generator.d.ts +16 -0
- package/dist/core/generator.d.ts.map +1 -0
- package/dist/core/generator.js +561 -0
- package/dist/core/generator.js.map +1 -0
- package/dist/core/gitignore-generator.d.ts +13 -0
- package/dist/core/gitignore-generator.d.ts.map +1 -0
- package/dist/core/gitignore-generator.js +307 -0
- package/dist/core/gitignore-generator.js.map +1 -0
- package/dist/core/health-scorer.d.ts +22 -0
- package/dist/core/health-scorer.d.ts.map +1 -0
- package/dist/core/health-scorer.js +395 -0
- package/dist/core/health-scorer.js.map +1 -0
- package/dist/core/logger.d.ts +116 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +289 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/merger.d.ts +6 -0
- package/dist/core/merger.d.ts.map +1 -0
- package/dist/core/merger.js +131 -0
- package/dist/core/merger.js.map +1 -0
- package/dist/core/migrator.d.ts +19 -0
- package/dist/core/migrator.d.ts.map +1 -0
- package/dist/core/migrator.js +102 -0
- package/dist/core/migrator.js.map +1 -0
- package/dist/core/minimal-scaffolder.d.ts +8 -0
- package/dist/core/minimal-scaffolder.d.ts.map +1 -0
- package/dist/core/minimal-scaffolder.js +51 -0
- package/dist/core/minimal-scaffolder.js.map +1 -0
- package/dist/core/modern-console-new.d.ts +81 -0
- package/dist/core/modern-console-new.d.ts.map +1 -0
- package/dist/core/modern-console-new.js +340 -0
- package/dist/core/modern-console-new.js.map +1 -0
- package/dist/core/modern-console.d.ts +99 -0
- package/dist/core/modern-console.d.ts.map +1 -0
- package/dist/core/modern-console.js +568 -0
- package/dist/core/modern-console.js.map +1 -0
- package/dist/core/openspec-manager.d.ts +133 -0
- package/dist/core/openspec-manager.d.ts.map +1 -0
- package/dist/core/openspec-manager.js +605 -0
- package/dist/core/openspec-manager.js.map +1 -0
- package/dist/core/openspec-migrator.d.ts +27 -0
- package/dist/core/openspec-migrator.d.ts.map +1 -0
- package/dist/core/openspec-migrator.js +255 -0
- package/dist/core/openspec-migrator.js.map +1 -0
- package/dist/core/task-manager.d.ts +65 -0
- package/dist/core/task-manager.d.ts.map +1 -0
- package/dist/core/task-manager.js +318 -0
- package/dist/core/task-manager.js.map +1 -0
- package/dist/core/test-task-manager.d.ts +49 -0
- package/dist/core/test-task-manager.d.ts.map +1 -0
- package/dist/core/test-task-manager.js +121 -0
- package/dist/core/test-task-manager.js.map +1 -0
- package/dist/core/validator.d.ts +21 -0
- package/dist/core/validator.d.ts.map +1 -0
- package/dist/core/validator.js +177 -0
- package/dist/core/validator.js.map +1 -0
- package/dist/core/version-bumper.d.ts +19 -0
- package/dist/core/version-bumper.d.ts.map +1 -0
- package/dist/core/version-bumper.js +180 -0
- package/dist/core/version-bumper.js.map +1 -0
- package/dist/core/watcher.d.ts +9 -0
- package/dist/core/watcher.d.ts.map +1 -0
- package/dist/core/watcher.js +22 -0
- package/dist/core/watcher.js.map +1 -0
- package/dist/core/workflow-generator.d.ts +10 -0
- package/dist/core/workflow-generator.d.ts.map +1 -0
- package/dist/core/workflow-generator.js +279 -0
- package/dist/core/workflow-generator.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +159 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/handlers/archive-task.d.ts +17 -0
- package/dist/mcp/handlers/archive-task.d.ts.map +1 -0
- package/dist/mcp/handlers/archive-task.js +36 -0
- package/dist/mcp/handlers/archive-task.js.map +1 -0
- package/dist/mcp/handlers/create-task.d.ts +17 -0
- package/dist/mcp/handlers/create-task.d.ts.map +1 -0
- package/dist/mcp/handlers/create-task.js +56 -0
- package/dist/mcp/handlers/create-task.js.map +1 -0
- package/dist/mcp/handlers/list-tasks.d.ts +22 -0
- package/dist/mcp/handlers/list-tasks.d.ts.map +1 -0
- package/dist/mcp/handlers/list-tasks.js +42 -0
- package/dist/mcp/handlers/list-tasks.js.map +1 -0
- package/dist/mcp/handlers/show-task.d.ts +25 -0
- package/dist/mcp/handlers/show-task.d.ts.map +1 -0
- package/dist/mcp/handlers/show-task.js +43 -0
- package/dist/mcp/handlers/show-task.js.map +1 -0
- package/dist/mcp/handlers/update-task.d.ts +17 -0
- package/dist/mcp/handlers/update-task.d.ts.map +1 -0
- package/dist/mcp/handlers/update-task.js +35 -0
- package/dist/mcp/handlers/update-task.js.map +1 -0
- package/dist/mcp/handlers/validate-task.d.ts +15 -0
- package/dist/mcp/handlers/validate-task.d.ts.map +1 -0
- package/dist/mcp/handlers/validate-task.js +27 -0
- package/dist/mcp/handlers/validate-task.js.map +1 -0
- package/dist/mcp/rulebook-config.d.ts +22 -0
- package/dist/mcp/rulebook-config.d.ts.map +1 -0
- package/dist/mcp/rulebook-config.js +65 -0
- package/dist/mcp/rulebook-config.js.map +1 -0
- package/dist/mcp/rulebook-server.d.ts +4 -0
- package/dist/mcp/rulebook-server.d.ts.map +1 -0
- package/dist/mcp/rulebook-server.js +246 -0
- package/dist/mcp/rulebook-server.js.map +1 -0
- package/dist/types.d.ts +190 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/file-system.d.ts +9 -0
- package/dist/utils/file-system.d.ts.map +1 -0
- package/dist/utils/file-system.js +51 -0
- package/dist/utils/file-system.js.map +1 -0
- package/dist/utils/git-hooks.d.ts +8 -0
- package/dist/utils/git-hooks.d.ts.map +1 -0
- package/dist/utils/git-hooks.js +440 -0
- package/dist/utils/git-hooks.js.map +1 -0
- package/dist/utils/rulesignore.d.ts +9 -0
- package/dist/utils/rulesignore.d.ts.map +1 -0
- package/dist/utils/rulesignore.js +42 -0
- package/dist/utils/rulesignore.js.map +1 -0
- package/package.json +106 -0
- package/templates/cli/AIDER.md +49 -0
- package/templates/cli/AMAZON_Q.md +25 -0
- package/templates/cli/AUGGIE.md +32 -0
- package/templates/cli/CLAUDE.md +32 -0
- package/templates/cli/CLAUDE_CODE.md +35 -0
- package/templates/cli/CLINE.md +32 -0
- package/templates/cli/CODEBUDDY.md +20 -0
- package/templates/cli/CODEIUM.md +20 -0
- package/templates/cli/CODEX.md +21 -0
- package/templates/cli/CONTINUE.md +34 -0
- package/templates/cli/CURSOR_CLI.md +28 -0
- package/templates/cli/FACTORY.md +18 -0
- package/templates/cli/GEMINI.md +35 -0
- package/templates/cli/KILOCODE.md +18 -0
- package/templates/cli/OPENCODE.md +18 -0
- package/templates/cli/_GENERIC_TEMPLATE.md +29 -0
- package/templates/commands/rulebook-task-apply.md +67 -0
- package/templates/commands/rulebook-task-archive.md +70 -0
- package/templates/commands/rulebook-task-create.md +93 -0
- package/templates/commands/rulebook-task-list.md +42 -0
- package/templates/commands/rulebook-task-show.md +52 -0
- package/templates/commands/rulebook-task-validate.md +53 -0
- package/templates/core/AGENT_AUTOMATION.md +184 -0
- package/templates/core/DAG.md +304 -0
- package/templates/core/DOCUMENTATION_RULES.md +37 -0
- package/templates/core/QUALITY_ENFORCEMENT.md +68 -0
- package/templates/core/RULEBOOK.md +1874 -0
- package/templates/frameworks/ANGULAR.md +36 -0
- package/templates/frameworks/DJANGO.md +83 -0
- package/templates/frameworks/ELECTRON.md +147 -0
- package/templates/frameworks/FLASK.md +38 -0
- package/templates/frameworks/FLUTTER.md +55 -0
- package/templates/frameworks/JQUERY.md +32 -0
- package/templates/frameworks/LARAVEL.md +38 -0
- package/templates/frameworks/NESTJS.md +43 -0
- package/templates/frameworks/NEXTJS.md +127 -0
- package/templates/frameworks/NUXT.md +40 -0
- package/templates/frameworks/RAILS.md +66 -0
- package/templates/frameworks/REACT.md +38 -0
- package/templates/frameworks/REACT_NATIVE.md +47 -0
- package/templates/frameworks/SPRING.md +39 -0
- package/templates/frameworks/SYMFONY.md +36 -0
- package/templates/frameworks/VUE.md +36 -0
- package/templates/frameworks/ZEND.md +35 -0
- package/templates/git/CI_CD_PATTERNS.md +661 -0
- package/templates/git/GITHUB_ACTIONS.md +728 -0
- package/templates/git/GITLAB_CI.md +730 -0
- package/templates/git/GIT_WORKFLOW.md +1157 -0
- package/templates/git/SECRETS_MANAGEMENT.md +585 -0
- package/templates/hooks/COMMIT_MSG.md +530 -0
- package/templates/hooks/POST_CHECKOUT.md +546 -0
- package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -0
- package/templates/hooks/PRE_COMMIT.md +414 -0
- package/templates/hooks/PRE_PUSH.md +601 -0
- package/templates/hooks/csharp-pre-commit.sh +23 -0
- package/templates/hooks/csharp-pre-push.sh +23 -0
- package/templates/hooks/dart-pre-commit.sh +30 -0
- package/templates/hooks/dart-pre-push.sh +25 -0
- package/templates/hooks/elixir-pre-commit.sh +32 -0
- package/templates/hooks/elixir-pre-push.sh +31 -0
- package/templates/hooks/erlang-pre-commit.sh +30 -0
- package/templates/hooks/erlang-pre-push.sh +37 -0
- package/templates/hooks/go-pre-commit.sh +40 -0
- package/templates/hooks/go-pre-push.sh +31 -0
- package/templates/hooks/haskell-pre-commit.sh +41 -0
- package/templates/hooks/haskell-pre-push.sh +37 -0
- package/templates/hooks/java-pre-commit.sh +34 -0
- package/templates/hooks/java-pre-push.sh +24 -0
- package/templates/hooks/kotlin-pre-commit.sh +32 -0
- package/templates/hooks/kotlin-pre-push.sh +16 -0
- package/templates/hooks/php-pre-commit.sh +36 -0
- package/templates/hooks/php-pre-push.sh +26 -0
- package/templates/hooks/python-pre-commit.sh +51 -0
- package/templates/hooks/python-pre-push.sh +25 -0
- package/templates/hooks/ruby-pre-commit.sh +33 -0
- package/templates/hooks/ruby-pre-push.sh +32 -0
- package/templates/hooks/rust-pre-commit.sh +30 -0
- package/templates/hooks/rust-pre-push.sh +30 -0
- package/templates/hooks/scala-pre-commit.sh +32 -0
- package/templates/hooks/scala-pre-push.sh +24 -0
- package/templates/hooks/swift-pre-commit.sh +25 -0
- package/templates/hooks/swift-pre-push.sh +23 -0
- package/templates/hooks/typescript-pre-commit.sh +37 -0
- package/templates/hooks/typescript-pre-push.sh +36 -0
- package/templates/ides/COPILOT.md +37 -0
- package/templates/ides/CURSOR.md +43 -0
- package/templates/ides/JETBRAINS_AI.md +35 -0
- package/templates/ides/REPLIT.md +36 -0
- package/templates/ides/TABNINE.md +29 -0
- package/templates/ides/VSCODE.md +40 -0
- package/templates/ides/WINDSURF.md +36 -0
- package/templates/ides/ZED.md +32 -0
- package/templates/languages/ADA.md +58 -0
- package/templates/languages/C.md +333 -0
- package/templates/languages/CPP.md +743 -0
- package/templates/languages/CSHARP.md +417 -0
- package/templates/languages/DART.md +332 -0
- package/templates/languages/ELIXIR.md +454 -0
- package/templates/languages/ERLANG.md +361 -0
- package/templates/languages/GO.md +645 -0
- package/templates/languages/HASKELL.md +177 -0
- package/templates/languages/JAVA.md +607 -0
- package/templates/languages/JAVASCRIPT.md +631 -0
- package/templates/languages/JULIA.md +97 -0
- package/templates/languages/KOTLIN.md +511 -0
- package/templates/languages/LISP.md +100 -0
- package/templates/languages/LUA.md +74 -0
- package/templates/languages/OBJECTIVEC.md +90 -0
- package/templates/languages/PHP.md +416 -0
- package/templates/languages/PYTHON.md +682 -0
- package/templates/languages/R.md +350 -0
- package/templates/languages/RUBY.md +421 -0
- package/templates/languages/RUST.md +477 -0
- package/templates/languages/SAS.md +73 -0
- package/templates/languages/SCALA.md +348 -0
- package/templates/languages/SOLIDITY.md +580 -0
- package/templates/languages/SQL.md +137 -0
- package/templates/languages/SWIFT.md +466 -0
- package/templates/languages/TYPESCRIPT.md +591 -0
- package/templates/languages/ZIG.md +265 -0
- package/templates/modules/ATLASSIAN.md +255 -0
- package/templates/modules/CONTEXT7.md +54 -0
- package/templates/modules/FIGMA.md +267 -0
- package/templates/modules/GITHUB_MCP.md +64 -0
- package/templates/modules/GRAFANA.md +328 -0
- package/templates/modules/NOTION.md +247 -0
- package/templates/modules/PLAYWRIGHT.md +90 -0
- package/templates/modules/RULEBOOK_MCP.md +156 -0
- package/templates/modules/SERENA.md +337 -0
- package/templates/modules/SUPABASE.md +223 -0
- package/templates/modules/SYNAP.md +69 -0
- package/templates/modules/VECTORIZER.md +63 -0
- package/templates/services/AZURE_BLOB.md +184 -0
- package/templates/services/CASSANDRA.md +239 -0
- package/templates/services/DYNAMODB.md +308 -0
- package/templates/services/ELASTICSEARCH.md +347 -0
- package/templates/services/GCS.md +178 -0
- package/templates/services/INFLUXDB.md +265 -0
- package/templates/services/KAFKA.md +341 -0
- package/templates/services/MARIADB.md +183 -0
- package/templates/services/MEMCACHED.md +242 -0
- package/templates/services/MINIO.md +201 -0
- package/templates/services/MONGODB.md +268 -0
- package/templates/services/MYSQL.md +358 -0
- package/templates/services/NEO4J.md +247 -0
- package/templates/services/ORACLE.md +290 -0
- package/templates/services/POSTGRESQL.md +326 -0
- package/templates/services/RABBITMQ.md +286 -0
- package/templates/services/REDIS.md +292 -0
- package/templates/services/S3.md +298 -0
- package/templates/services/SQLITE.md +294 -0
- package/templates/services/SQLSERVER.md +294 -0
- package/templates/workflows/codespell.yml +31 -0
- package/templates/workflows/cpp-lint.yml +47 -0
- package/templates/workflows/cpp-publish.yml +119 -0
- package/templates/workflows/cpp-test.yml +77 -0
- package/templates/workflows/dotnet-lint.yml +29 -0
- package/templates/workflows/dotnet-publish.yml +40 -0
- package/templates/workflows/dotnet-test.yml +41 -0
- package/templates/workflows/elixir-lint.yml +45 -0
- package/templates/workflows/elixir-publish.yml +49 -0
- package/templates/workflows/elixir-test.yml +54 -0
- package/templates/workflows/erlang-lint.yml +47 -0
- package/templates/workflows/erlang-test.yml +62 -0
- package/templates/workflows/go-lint.yml +39 -0
- package/templates/workflows/go-publish.yml +95 -0
- package/templates/workflows/go-test.yml +59 -0
- package/templates/workflows/java-lint.yml +60 -0
- package/templates/workflows/java-publish.yml +120 -0
- package/templates/workflows/java-test.yml +85 -0
- package/templates/workflows/kotlin-lint.yml +34 -0
- package/templates/workflows/kotlin-publish.yml +56 -0
- package/templates/workflows/kotlin-test.yml +48 -0
- package/templates/workflows/php-lint.yml +39 -0
- package/templates/workflows/php-publish.yml +50 -0
- package/templates/workflows/php-test.yml +54 -0
- package/templates/workflows/python-lint.yml +47 -0
- package/templates/workflows/python-publish.yml +91 -0
- package/templates/workflows/python-test.yml +59 -0
- package/templates/workflows/rust-lint.yml +54 -0
- package/templates/workflows/rust-publish.yml +66 -0
- package/templates/workflows/rust-test.yml +75 -0
- package/templates/workflows/solidity-lint.yml +41 -0
- package/templates/workflows/solidity-test.yml +47 -0
- package/templates/workflows/swift-lint.yml +32 -0
- package/templates/workflows/swift-publish.yml +58 -0
- package/templates/workflows/swift-test.yml +44 -0
- package/templates/workflows/typescript-lint.yml +61 -0
- package/templates/workflows/typescript-publish.yml +60 -0
- package/templates/workflows/typescript-test.yml +73 -0
- package/templates/workflows/zig-lint.yml +27 -0
- package/templates/workflows/zig-test.yml +40 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<!-- REACT:START -->
|
|
2
|
+
# React Framework Rules
|
|
3
|
+
|
|
4
|
+
**CRITICAL**: React applications must comply with these quality bars.
|
|
5
|
+
|
|
6
|
+
## Quality Commands
|
|
7
|
+
- Lint & type check: `npm run lint` + `npm run type-check`
|
|
8
|
+
- Unit/integration tests: `npm run test -- --watch=false`
|
|
9
|
+
- Build: `npm run build`
|
|
10
|
+
- Bundle analysis (optional): `npm run analyze`
|
|
11
|
+
|
|
12
|
+
## Project Structure
|
|
13
|
+
- Group features under `src/features/<name>/`
|
|
14
|
+
- Maintain shared UI primitives in `src/components`
|
|
15
|
+
- Keep hooks in `src/hooks`
|
|
16
|
+
- Centralize state management in `src/state` (Redux/Zustand/Recoil)
|
|
17
|
+
|
|
18
|
+
## Implementation Guidelines
|
|
19
|
+
- Use TypeScript everywhere (no implicit `any`)
|
|
20
|
+
- Prefer functional components with hooks
|
|
21
|
+
- Co-locate component tests as `<Component>.test.tsx`
|
|
22
|
+
- Use React Query/SWR for server state, keep caches invalidated on mutations
|
|
23
|
+
- Wrap new pages with error boundaries and suspense where needed
|
|
24
|
+
|
|
25
|
+
## Pre-Commit Checklist
|
|
26
|
+
```bash
|
|
27
|
+
npm run lint
|
|
28
|
+
npm run type-check
|
|
29
|
+
npm run test -- --watch=false
|
|
30
|
+
npm run build
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Documentation
|
|
34
|
+
- Update `/docs/react-architecture.md` when routes or global providers change
|
|
35
|
+
- Record reusable components in Storybook or `/docs/ui-components.md`
|
|
36
|
+
- Capture performance regressions in `/docs/performance.md`
|
|
37
|
+
|
|
38
|
+
<!-- REACT:END -->
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<!-- REACT_NATIVE:START -->
|
|
2
|
+
# React Native Framework Rules
|
|
3
|
+
|
|
4
|
+
**Language**: JavaScript, TypeScript
|
|
5
|
+
**Version**: React Native 0.72+
|
|
6
|
+
|
|
7
|
+
## Setup
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx react-native init MyApp --template react-native-template-typescript
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Quality Gates
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm run lint
|
|
17
|
+
npm run type-check
|
|
18
|
+
npm test
|
|
19
|
+
npm run android # Test build
|
|
20
|
+
npm run ios # Test build
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Best Practices
|
|
24
|
+
|
|
25
|
+
✅ Use TypeScript
|
|
26
|
+
✅ Implement proper navigation (React Navigation)
|
|
27
|
+
✅ Use platform-specific code when needed
|
|
28
|
+
✅ Optimize images and assets
|
|
29
|
+
✅ Test on both iOS and Android
|
|
30
|
+
|
|
31
|
+
❌ Don't hardcode dimensions
|
|
32
|
+
❌ Don't skip accessibility
|
|
33
|
+
❌ Don't ignore memory leaks
|
|
34
|
+
|
|
35
|
+
## Project Structure
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
src/
|
|
39
|
+
├── components/
|
|
40
|
+
├── screens/
|
|
41
|
+
├── navigation/
|
|
42
|
+
├── services/
|
|
43
|
+
└── utils/
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
<!-- REACT_NATIVE:END -->
|
|
47
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!-- SPRING:START -->
|
|
2
|
+
# Spring Boot Framework Rules
|
|
3
|
+
|
|
4
|
+
**CRITICAL**: Every Spring service must satisfy these quality gates before merge.
|
|
5
|
+
|
|
6
|
+
## Build & Quality Commands
|
|
7
|
+
- Lint/format: `./gradlew checkstyleMain` or `mvn verify`
|
|
8
|
+
- Unit tests: `./gradlew test` or `mvn test`
|
|
9
|
+
- Integration tests: `./gradlew integrationTest` (if module exists)
|
|
10
|
+
- Static analysis: `./gradlew jacocoTestReport` to ensure 80%+ coverage
|
|
11
|
+
|
|
12
|
+
## Project Structure
|
|
13
|
+
- Keep domain logic in `src/main/java/.../service`
|
|
14
|
+
- Expose REST controllers in `controller` packages
|
|
15
|
+
- Isolate configuration classes under `config`
|
|
16
|
+
- Share DTOs via `dto` package and map with MapStruct where applicable
|
|
17
|
+
|
|
18
|
+
## Implementation Guidelines
|
|
19
|
+
- Manage configuration with `application.yml` profiles (dev/test/prod)
|
|
20
|
+
- Prefer constructor injection, avoid `@Autowired` field injection
|
|
21
|
+
- Wrap transactional operations with `@Transactional`
|
|
22
|
+
- Use `ResponseEntity` for explicit HTTP semantics
|
|
23
|
+
- Validate inputs using `javax.validation` annotations and `@Valid`
|
|
24
|
+
|
|
25
|
+
## Build Matrix
|
|
26
|
+
```bash
|
|
27
|
+
# Gradle
|
|
28
|
+
./gradlew clean check
|
|
29
|
+
|
|
30
|
+
# Maven
|
|
31
|
+
mvn -B clean verify
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Additional Checks
|
|
35
|
+
- Ensure `application.yml` contains defaults for new properties
|
|
36
|
+
- Update Flyway/Liquibase migrations when schema changes
|
|
37
|
+
- Keep `README` and `/docs/architecture.md` synced with new services
|
|
38
|
+
|
|
39
|
+
<!-- SPRING:END -->
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!-- SYMFONY:START -->
|
|
2
|
+
# Symfony Framework Rules
|
|
3
|
+
|
|
4
|
+
**Language**: PHP
|
|
5
|
+
**Version**: Symfony 6.0+ or 7.0+
|
|
6
|
+
|
|
7
|
+
## Setup
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
# config/packages/framework.yaml
|
|
11
|
+
framework:
|
|
12
|
+
secret: '%env(APP_SECRET)%'
|
|
13
|
+
csrf_protection: true
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Quality Gates
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
php bin/console lint:twig templates/
|
|
20
|
+
php bin/console lint:yaml config/
|
|
21
|
+
vendor/bin/phpstan analyze src tests
|
|
22
|
+
vendor/bin/phpunit
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Best Practices
|
|
26
|
+
|
|
27
|
+
✅ Use dependency injection
|
|
28
|
+
✅ Follow PSR standards
|
|
29
|
+
✅ Use Doctrine ORM
|
|
30
|
+
✅ Implement security voters
|
|
31
|
+
|
|
32
|
+
❌ Don't bypass security
|
|
33
|
+
❌ Don't hardcode routes
|
|
34
|
+
|
|
35
|
+
<!-- SYMFONY:END -->
|
|
36
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!-- VUE:START -->
|
|
2
|
+
# Vue Framework Rules
|
|
3
|
+
|
|
4
|
+
**CRITICAL**: Vue 3 projects should follow these guardrails.
|
|
5
|
+
|
|
6
|
+
## Quality Commands
|
|
7
|
+
- Lint: `npm run lint`
|
|
8
|
+
- Unit tests: `npm run test:unit`
|
|
9
|
+
- e2e tests (Cypress/Playwright): `npm run test:e2e`
|
|
10
|
+
- Build: `npm run build`
|
|
11
|
+
|
|
12
|
+
## Project Structure
|
|
13
|
+
- Place feature modules in `src/modules/<feature>/`
|
|
14
|
+
- Keep reusable components in `src/components`
|
|
15
|
+
- Shared composables go in `src/composables`
|
|
16
|
+
- Centralize Pinia/Vuex stores under `src/stores`
|
|
17
|
+
|
|
18
|
+
## Implementation Guidelines
|
|
19
|
+
- Adopt `<script setup>` with TypeScript and define props via `defineProps`
|
|
20
|
+
- Leverage `defineEmits` for typed event emission
|
|
21
|
+
- Lazy-load routes with dynamic imports in `router/index.ts`
|
|
22
|
+
- Ensure global styles scoped via `:global` or dedicated CSS files
|
|
23
|
+
|
|
24
|
+
## Pre-Commit Commands
|
|
25
|
+
```bash
|
|
26
|
+
npm run lint
|
|
27
|
+
npm run test:unit
|
|
28
|
+
npm run build
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Documentation
|
|
32
|
+
- Update `/docs/vue-architecture.md` with module tree changes
|
|
33
|
+
- Document composables in `/docs/composables.md`
|
|
34
|
+
- Add component usage examples to `/docs/ui-components.md`
|
|
35
|
+
|
|
36
|
+
<!-- VUE:END -->
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<!-- ZEND:START -->
|
|
2
|
+
# Zend/Laminas Framework Rules
|
|
3
|
+
|
|
4
|
+
**Language**: PHP
|
|
5
|
+
**Version**: Laminas MVC 3.x+
|
|
6
|
+
|
|
7
|
+
## Setup
|
|
8
|
+
|
|
9
|
+
```php
|
|
10
|
+
// config/modules.config.php
|
|
11
|
+
return [
|
|
12
|
+
'Laminas\Router',
|
|
13
|
+
'Application',
|
|
14
|
+
];
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Quality Gates
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
vendor/bin/phpcs --standard=PSR12 src/
|
|
21
|
+
vendor/bin/phpstan analyze
|
|
22
|
+
vendor/bin/phpunit
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Best Practices
|
|
26
|
+
|
|
27
|
+
✅ Use service manager
|
|
28
|
+
✅ Implement middleware
|
|
29
|
+
✅ Use form validation
|
|
30
|
+
|
|
31
|
+
❌ Don't skip CSRF tokens
|
|
32
|
+
❌ Don't expose errors in production
|
|
33
|
+
|
|
34
|
+
<!-- ZEND:END -->
|
|
35
|
+
|