aigroup-workflow 2.2.1 → 2.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/.claude/commands/fix-build.md +10 -5
- package/.claude/commands/init-project.md +13 -8
- package/.claude/commands/plan.md +15 -8
- package/.claude/commands/review.md +12 -6
- package/.claude/commands/tdd.md +11 -5
- package/.claude/commands/workflow-start.md +20 -11
- package/.claude/settings.json +28 -0
- package/.codex/agents/architect.toml +207 -0
- package/.codex/agents/build-error-resolver.toml +110 -0
- package/.codex/agents/code-reviewer.toml +233 -0
- package/.codex/agents/doc-updater.toml +103 -0
- package/.codex/agents/e2e-runner.toml +103 -0
- package/.codex/agents/get-current-datetime.toml +23 -0
- package/.codex/agents/init-architect.toml +181 -0
- package/.codex/agents/planner.toml +208 -0
- package/.codex/agents/refactor-cleaner.toml +81 -0
- package/.codex/agents/rust-reviewer.toml +90 -0
- package/.codex/agents/security-reviewer.toml +104 -0
- package/.codex/agents/tdd-guide.toml +87 -0
- package/AGENTS.md +2 -2
- package/CLAUDE.md +23 -1
- package/LICENSE +20 -20
- package/README.md +333 -333
- package/agents/a11y-architect.md +141 -141
- package/agents/architect.md +211 -211
- package/agents/build-error-resolver.md +114 -114
- package/agents/chief-of-staff.md +151 -151
- package/agents/code-architect.md +71 -71
- package/agents/code-explorer.md +69 -69
- package/agents/code-reviewer.md +237 -237
- package/agents/code-simplifier.md +47 -47
- package/agents/comment-analyzer.md +45 -45
- package/agents/conversation-analyzer.md +52 -52
- package/agents/cpp-build-resolver.md +90 -90
- package/agents/cpp-reviewer.md +72 -72
- package/agents/csharp-reviewer.md +101 -101
- package/agents/dart-build-resolver.md +201 -201
- package/agents/database-reviewer.md +91 -91
- package/agents/doc-updater.md +107 -107
- package/agents/docs-lookup.md +68 -68
- package/agents/e2e-runner.md +107 -107
- package/agents/flutter-reviewer.md +243 -243
- package/agents/gan-evaluator.md +209 -209
- package/agents/gan-generator.md +131 -131
- package/agents/gan-planner.md +99 -99
- package/agents/get-current-datetime.md +26 -26
- package/agents/go-build-resolver.md +94 -94
- package/agents/go-reviewer.md +76 -76
- package/agents/harness-optimizer.md +35 -35
- package/agents/healthcare-reviewer.md +83 -83
- package/agents/java-build-resolver.md +153 -153
- package/agents/java-reviewer.md +92 -92
- package/agents/kotlin-build-resolver.md +118 -118
- package/agents/kotlin-reviewer.md +159 -159
- package/agents/loop-operator.md +36 -36
- package/agents/opensource-forker.md +198 -198
- package/agents/opensource-packager.md +249 -249
- package/agents/opensource-sanitizer.md +188 -188
- package/agents/performance-optimizer.md +446 -446
- package/agents/planner.md +212 -212
- package/agents/pr-test-analyzer.md +45 -45
- package/agents/python-reviewer.md +98 -98
- package/agents/pytorch-build-resolver.md +120 -120
- package/agents/refactor-cleaner.md +85 -85
- package/agents/rust-build-resolver.md +148 -148
- package/agents/rust-reviewer.md +94 -94
- package/agents/security-reviewer.md +108 -108
- package/agents/seo-specialist.md +59 -59
- package/agents/silent-failure-hunter.md +50 -50
- package/agents/tdd-guide.md +91 -91
- package/agents/type-design-analyzer.md +41 -41
- package/agents/typescript-reviewer.md +112 -112
- package/cli/commands/update.mjs +1 -1
- package/cli/utils/scaffold.mjs +53 -0
- package/docs/rules/agents.md +166 -50
- package/docs/rules/cpp/coding-style.md +44 -44
- package/docs/rules/cpp/hooks.md +39 -39
- package/docs/rules/cpp/patterns.md +51 -51
- package/docs/rules/cpp/security.md +51 -51
- package/docs/rules/cpp/testing.md +44 -44
- package/docs/rules/csharp/coding-style.md +72 -72
- package/docs/rules/csharp/hooks.md +25 -25
- package/docs/rules/csharp/patterns.md +50 -50
- package/docs/rules/csharp/security.md +58 -58
- package/docs/rules/csharp/testing.md +46 -46
- package/docs/rules/dart/coding-style.md +159 -159
- package/docs/rules/dart/hooks.md +66 -66
- package/docs/rules/dart/patterns.md +261 -261
- package/docs/rules/dart/security.md +135 -135
- package/docs/rules/dart/testing.md +215 -215
- package/docs/rules/golang/coding-style.md +32 -32
- package/docs/rules/golang/hooks.md +17 -17
- package/docs/rules/golang/patterns.md +45 -45
- package/docs/rules/golang/security.md +34 -34
- package/docs/rules/golang/testing.md +31 -31
- package/docs/rules/java/coding-style.md +114 -114
- package/docs/rules/java/hooks.md +18 -18
- package/docs/rules/java/patterns.md +146 -146
- package/docs/rules/java/security.md +100 -100
- package/docs/rules/java/testing.md +131 -131
- package/docs/rules/kotlin/coding-style.md +86 -86
- package/docs/rules/kotlin/hooks.md +17 -17
- package/docs/rules/kotlin/patterns.md +146 -146
- package/docs/rules/kotlin/security.md +82 -82
- package/docs/rules/kotlin/testing.md +128 -128
- package/docs/rules/perl/coding-style.md +46 -46
- package/docs/rules/perl/hooks.md +22 -22
- package/docs/rules/perl/patterns.md +76 -76
- package/docs/rules/perl/security.md +69 -69
- package/docs/rules/perl/testing.md +54 -54
- package/docs/rules/php/coding-style.md +40 -40
- package/docs/rules/php/hooks.md +24 -24
- package/docs/rules/php/patterns.md +33 -33
- package/docs/rules/php/security.md +37 -37
- package/docs/rules/php/testing.md +39 -39
- package/docs/rules/python/coding-style.md +42 -42
- package/docs/rules/python/hooks.md +19 -19
- package/docs/rules/python/patterns.md +39 -39
- package/docs/rules/python/security.md +30 -30
- package/docs/rules/python/testing.md +38 -38
- package/docs/rules/rust/coding-style.md +151 -151
- package/docs/rules/rust/hooks.md +16 -16
- package/docs/rules/rust/patterns.md +168 -168
- package/docs/rules/rust/security.md +141 -141
- package/docs/rules/rust/testing.md +154 -154
- package/docs/rules/swift/coding-style.md +47 -47
- package/docs/rules/swift/hooks.md +20 -20
- package/docs/rules/swift/patterns.md +66 -66
- package/docs/rules/swift/security.md +33 -33
- package/docs/rules/swift/testing.md +45 -45
- package/docs/rules/typescript/coding-style.md +199 -199
- package/docs/rules/typescript/hooks.md +22 -22
- package/docs/rules/typescript/patterns.md +52 -52
- package/docs/rules/typescript/security.md +28 -28
- package/docs/rules/typescript/testing.md +18 -18
- package/docs/rules/web/coding-style.md +96 -96
- package/docs/rules/web/design-quality.md +62 -62
- package/docs/rules/web/hooks.md +120 -120
- package/docs/rules/web/patterns.md +79 -79
- package/docs/rules/web/performance.md +64 -64
- package/docs/rules/web/security.md +57 -57
- package/docs/rules/web/testing.md +55 -55
- package/docs/templates/README.md +36 -36
- package/docs/templates/ai-project-final.md +124 -124
- package/docs/templates/ai-project.md +105 -105
- package/docs/templates/api.md +157 -157
- package/docs/templates/bug.md +62 -62
- package/docs/templates/code-review.md +87 -87
- package/docs/templates/generic.md +116 -116
- package/docs/templates/implementation-plan.md +1 -1
- package/docs/templates/meeting.md +68 -68
- package/docs/templates/prd.md +98 -98
- package/docs/templates/ui.md +134 -134
- package/docs/workflow-pipeline.md +5 -5
- package/package.json +40 -39
- package/skills/SUPERPOWERS-LICENSE +21 -21
- package/skills/ai-ml/fine-tuning-expert/SKILL.md +162 -162
- package/skills/ai-ml/fine-tuning-expert/references/dataset-preparation.md +540 -540
- package/skills/ai-ml/fine-tuning-expert/references/deployment-optimization.md +673 -673
- package/skills/ai-ml/fine-tuning-expert/references/evaluation-metrics.md +597 -597
- package/skills/ai-ml/fine-tuning-expert/references/hyperparameter-tuning.md +565 -565
- package/skills/ai-ml/fine-tuning-expert/references/lora-peft.md +347 -347
- package/skills/ai-ml/ml-pipeline/SKILL.md +159 -159
- package/skills/ai-ml/ml-pipeline/references/experiment-tracking.md +833 -833
- package/skills/ai-ml/ml-pipeline/references/feature-engineering.md +631 -631
- package/skills/ai-ml/ml-pipeline/references/model-validation.md +978 -978
- package/skills/ai-ml/ml-pipeline/references/pipeline-orchestration.md +907 -907
- package/skills/ai-ml/ml-pipeline/references/training-pipelines.md +782 -782
- package/skills/ai-ml/rag-architect/SKILL.md +194 -194
- package/skills/ai-ml/rag-architect/references/chunking-strategies.md +878 -878
- package/skills/ai-ml/rag-architect/references/embedding-models.md +561 -561
- package/skills/ai-ml/rag-architect/references/rag-evaluation.md +833 -833
- package/skills/ai-ml/rag-architect/references/retrieval-optimization.md +795 -795
- package/skills/ai-ml/rag-architect/references/vector-databases.md +589 -589
- package/skills/ai-ml/spark-engineer/SKILL.md +148 -148
- package/skills/ai-ml/spark-engineer/references/partitioning-caching.md +543 -543
- package/skills/ai-ml/spark-engineer/references/performance-tuning.md +544 -544
- package/skills/ai-ml/spark-engineer/references/rdd-operations.md +599 -599
- package/skills/ai-ml/spark-engineer/references/spark-sql-dataframes.md +474 -474
- package/skills/ai-ml/spark-engineer/references/streaming-patterns.md +786 -786
- package/skills/backend/api-designer/SKILL.md +217 -217
- package/skills/backend/api-designer/references/error-handling.md +541 -541
- package/skills/backend/api-designer/references/openapi.md +824 -824
- package/skills/backend/api-designer/references/pagination.md +494 -494
- package/skills/backend/api-designer/references/rest-patterns.md +335 -335
- package/skills/backend/api-designer/references/versioning.md +391 -391
- package/skills/backend/architecture-designer/SKILL.md +117 -117
- package/skills/backend/architecture-designer/references/adr-template.md +116 -116
- package/skills/backend/architecture-designer/references/architecture-patterns.md +111 -111
- package/skills/backend/architecture-designer/references/database-selection.md +102 -102
- package/skills/backend/architecture-designer/references/nfr-checklist.md +112 -112
- package/skills/backend/architecture-designer/references/system-design.md +100 -100
- package/skills/backend/code-documenter/SKILL.md +147 -147
- package/skills/backend/code-documenter/references/api-docs-fastapi-django.md +166 -166
- package/skills/backend/code-documenter/references/api-docs-nestjs-express.md +220 -220
- package/skills/backend/code-documenter/references/coverage-reports.md +125 -125
- package/skills/backend/code-documenter/references/documentation-systems.md +333 -333
- package/skills/backend/code-documenter/references/interactive-api-docs.md +531 -531
- package/skills/backend/code-documenter/references/python-docstrings.md +121 -121
- package/skills/backend/code-documenter/references/typescript-jsdoc.md +145 -145
- package/skills/backend/code-documenter/references/user-guides-tutorials.md +530 -530
- package/skills/backend/debugging-wizard/SKILL.md +105 -105
- package/skills/backend/debugging-wizard/references/common-patterns.md +132 -132
- package/skills/backend/debugging-wizard/references/debugging-tools.md +140 -140
- package/skills/backend/debugging-wizard/references/quick-fixes.md +177 -177
- package/skills/backend/debugging-wizard/references/strategies.md +142 -142
- package/skills/backend/debugging-wizard/references/systematic-debugging.md +367 -367
- package/skills/backend/feature-forge/SKILL.md +98 -98
- package/skills/backend/feature-forge/references/acceptance-criteria.md +104 -104
- package/skills/backend/feature-forge/references/ears-syntax.md +99 -99
- package/skills/backend/feature-forge/references/interview-questions.md +150 -150
- package/skills/backend/feature-forge/references/pre-discovery-subagents.md +54 -54
- package/skills/backend/feature-forge/references/specification-template.md +103 -103
- package/skills/backend/fullstack-guardian/SKILL.md +105 -105
- package/skills/backend/fullstack-guardian/references/api-design-standards.md +307 -307
- package/skills/backend/fullstack-guardian/references/architecture-decisions.md +350 -350
- package/skills/backend/fullstack-guardian/references/backend-patterns.md +237 -237
- package/skills/backend/fullstack-guardian/references/common-patterns.md +134 -134
- package/skills/backend/fullstack-guardian/references/deliverables-checklist.md +354 -354
- package/skills/backend/fullstack-guardian/references/design-template.md +91 -91
- package/skills/backend/fullstack-guardian/references/error-handling.md +135 -135
- package/skills/backend/fullstack-guardian/references/frontend-patterns.md +340 -340
- package/skills/backend/fullstack-guardian/references/integration-patterns.md +333 -333
- package/skills/backend/fullstack-guardian/references/security-checklist.md +106 -106
- package/skills/backend/graphql-architect/SKILL.md +146 -146
- package/skills/backend/graphql-architect/references/federation.md +418 -418
- package/skills/backend/graphql-architect/references/migration-from-rest.md +1141 -1141
- package/skills/backend/graphql-architect/references/resolvers.md +425 -425
- package/skills/backend/graphql-architect/references/schema-design.md +393 -393
- package/skills/backend/graphql-architect/references/security.md +569 -569
- package/skills/backend/graphql-architect/references/subscriptions.md +510 -510
- package/skills/backend/legacy-modernizer/SKILL.md +137 -137
- package/skills/backend/legacy-modernizer/references/legacy-testing.md +381 -381
- package/skills/backend/legacy-modernizer/references/migration-strategies.md +423 -423
- package/skills/backend/legacy-modernizer/references/refactoring-patterns.md +395 -395
- package/skills/backend/legacy-modernizer/references/strangler-fig-pattern.md +281 -281
- package/skills/backend/legacy-modernizer/references/system-assessment.md +487 -487
- package/skills/backend/microservices-architect/SKILL.md +164 -164
- package/skills/backend/microservices-architect/references/communication.md +499 -499
- package/skills/backend/microservices-architect/references/data.md +721 -721
- package/skills/backend/microservices-architect/references/decomposition.md +344 -344
- package/skills/backend/microservices-architect/references/observability.md +805 -805
- package/skills/backend/microservices-architect/references/patterns.md +603 -603
- package/skills/database/database-optimizer/SKILL.md +147 -147
- package/skills/database/database-optimizer/references/index-strategies.md +331 -331
- package/skills/database/database-optimizer/references/monitoring-analysis.md +501 -501
- package/skills/database/database-optimizer/references/mysql-tuning.md +452 -452
- package/skills/database/database-optimizer/references/postgresql-tuning.md +413 -413
- package/skills/database/database-optimizer/references/query-optimization.md +251 -251
- package/skills/database/postgres-pro/SKILL.md +152 -152
- package/skills/database/postgres-pro/references/extensions.md +404 -404
- package/skills/database/postgres-pro/references/jsonb.md +321 -321
- package/skills/database/postgres-pro/references/maintenance.md +481 -481
- package/skills/database/postgres-pro/references/performance.md +265 -265
- package/skills/database/postgres-pro/references/replication.md +446 -446
- package/skills/database/sql-pro/SKILL.md +129 -129
- package/skills/database/sql-pro/references/database-design.md +402 -402
- package/skills/database/sql-pro/references/dialect-differences.md +419 -419
- package/skills/database/sql-pro/references/optimization.md +384 -384
- package/skills/database/sql-pro/references/query-patterns.md +285 -285
- package/skills/database/sql-pro/references/window-functions.md +328 -328
- package/skills/dotnet/csharp-developer/SKILL.md +125 -125
- package/skills/dotnet/csharp-developer/references/aspnet-core.md +394 -394
- package/skills/dotnet/csharp-developer/references/blazor.md +553 -553
- package/skills/dotnet/csharp-developer/references/entity-framework.md +409 -409
- package/skills/dotnet/csharp-developer/references/modern-csharp.md +248 -248
- package/skills/dotnet/csharp-developer/references/performance.md +498 -498
- package/skills/dotnet/dotnet-core-expert/SKILL.md +138 -138
- package/skills/dotnet/dotnet-core-expert/references/authentication.md +546 -546
- package/skills/dotnet/dotnet-core-expert/references/clean-architecture.md +455 -455
- package/skills/dotnet/dotnet-core-expert/references/cloud-native.md +548 -548
- package/skills/dotnet/dotnet-core-expert/references/entity-framework.md +440 -440
- package/skills/dotnet/dotnet-core-expert/references/minimal-apis.md +319 -319
- package/skills/frontend/angular-architect/SKILL.md +152 -152
- package/skills/frontend/angular-architect/references/components.md +297 -297
- package/skills/frontend/angular-architect/references/ngrx.md +401 -401
- package/skills/frontend/angular-architect/references/routing.md +361 -361
- package/skills/frontend/angular-architect/references/rxjs.md +319 -319
- package/skills/frontend/angular-architect/references/testing.md +405 -405
- package/skills/frontend/design-commands/design.md +91 -91
- package/skills/frontend/design-commands/handoff.md +97 -97
- package/skills/frontend/design-commands/prototype.md +120 -120
- package/skills/frontend/design-commands/spec.md +160 -160
- package/skills/frontend/design-commands/style.md +78 -78
- package/skills/frontend/flutter-expert/SKILL.md +138 -138
- package/skills/frontend/flutter-expert/references/bloc-state.md +259 -259
- package/skills/frontend/flutter-expert/references/gorouter-navigation.md +119 -119
- package/skills/frontend/flutter-expert/references/performance.md +99 -99
- package/skills/frontend/flutter-expert/references/project-structure.md +118 -118
- package/skills/frontend/flutter-expert/references/riverpod-state.md +130 -130
- package/skills/frontend/flutter-expert/references/widget-patterns.md +123 -123
- package/skills/frontend/nextjs-developer/SKILL.md +143 -143
- package/skills/frontend/nextjs-developer/references/app-router.md +311 -311
- package/skills/frontend/nextjs-developer/references/data-fetching.md +482 -482
- package/skills/frontend/nextjs-developer/references/deployment.md +545 -545
- package/skills/frontend/nextjs-developer/references/server-actions.md +462 -462
- package/skills/frontend/nextjs-developer/references/server-components.md +384 -384
- package/skills/frontend/react-expert/SKILL.md +149 -149
- package/skills/frontend/react-expert/references/hooks-patterns.md +162 -162
- package/skills/frontend/react-expert/references/migration-class-to-modern.md +1119 -1119
- package/skills/frontend/react-expert/references/performance.md +168 -168
- package/skills/frontend/react-expert/references/react-19-features.md +174 -174
- package/skills/frontend/react-expert/references/server-components.md +143 -143
- package/skills/frontend/react-expert/references/state-management.md +171 -171
- package/skills/frontend/react-expert/references/testing-react.md +174 -174
- package/skills/frontend/react-native-expert/SKILL.md +185 -185
- package/skills/frontend/react-native-expert/references/expo-router.md +187 -187
- package/skills/frontend/react-native-expert/references/list-optimization.md +204 -204
- package/skills/frontend/react-native-expert/references/platform-handling.md +188 -188
- package/skills/frontend/react-native-expert/references/project-structure.md +171 -171
- package/skills/frontend/react-native-expert/references/storage-hooks.md +173 -173
- package/skills/frontend/senior-frontend/SKILL.md +477 -477
- package/skills/frontend/senior-frontend/references/frontend_best_practices.md +806 -806
- package/skills/frontend/senior-frontend/references/nextjs_optimization_guide.md +724 -724
- package/skills/frontend/senior-frontend/references/react_patterns.md +746 -746
- package/skills/frontend/senior-frontend/scripts/bundle_analyzer.py +407 -407
- package/skills/frontend/senior-frontend/scripts/component_generator.py +329 -329
- package/skills/frontend/senior-frontend/scripts/frontend_scaffolder.py +1005 -1005
- package/skills/frontend/ui-ux-pro-max/SKILL.md +386 -386
- package/skills/frontend/ui-ux-pro-max/data/charts.csv +26 -26
- package/skills/frontend/ui-ux-pro-max/data/colors.csv +97 -97
- package/skills/frontend/ui-ux-pro-max/data/icons.csv +101 -101
- package/skills/frontend/ui-ux-pro-max/data/landing.csv +31 -31
- package/skills/frontend/ui-ux-pro-max/data/products.csv +96 -96
- package/skills/frontend/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/skills/frontend/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/skills/frontend/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/skills/frontend/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/skills/frontend/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/skills/frontend/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/skills/frontend/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/skills/frontend/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/skills/frontend/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
- package/skills/frontend/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/skills/frontend/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/skills/frontend/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/skills/frontend/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/skills/frontend/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/skills/frontend/ui-ux-pro-max/data/styles.csv +68 -68
- package/skills/frontend/ui-ux-pro-max/data/typography.csv +57 -57
- package/skills/frontend/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
- package/skills/frontend/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
- package/skills/frontend/ui-ux-pro-max/data/web-interface.csv +31 -31
- package/skills/frontend/ui-ux-pro-max/scripts/core.py +253 -253
- package/skills/frontend/ui-ux-pro-max/scripts/design_system.py +1067 -1067
- package/skills/frontend/ui-ux-pro-max/scripts/search.py +114 -114
- package/skills/frontend/vue-expert/SKILL.md +98 -98
- package/skills/frontend/vue-expert/references/build-tooling.md +480 -480
- package/skills/frontend/vue-expert/references/components.md +448 -448
- package/skills/frontend/vue-expert/references/composition-api.md +299 -299
- package/skills/frontend/vue-expert/references/mobile-hybrid.md +636 -636
- package/skills/frontend/vue-expert/references/nuxt.md +669 -669
- package/skills/frontend/vue-expert/references/state-management.md +449 -449
- package/skills/frontend/vue-expert/references/typescript.md +584 -584
- package/skills/frontend/vue-expert-js/SKILL.md +167 -167
- package/skills/frontend/vue-expert-js/references/component-architecture.md +219 -219
- package/skills/frontend/vue-expert-js/references/composables-patterns.md +183 -183
- package/skills/frontend/vue-expert-js/references/jsdoc-typing.md +535 -535
- package/skills/frontend/vue-expert-js/references/state-management.md +249 -249
- package/skills/frontend/vue-expert-js/references/testing-patterns.md +237 -237
- package/skills/go-rust-cpp/cpp-pro/SKILL.md +115 -115
- package/skills/go-rust-cpp/cpp-pro/references/build-tooling.md +440 -440
- package/skills/go-rust-cpp/cpp-pro/references/concurrency.md +437 -437
- package/skills/go-rust-cpp/cpp-pro/references/memory-performance.md +397 -397
- package/skills/go-rust-cpp/cpp-pro/references/modern-cpp.md +304 -304
- package/skills/go-rust-cpp/cpp-pro/references/templates.md +357 -357
- package/skills/go-rust-cpp/golang-pro/SKILL.md +122 -122
- package/skills/go-rust-cpp/golang-pro/references/concurrency.md +329 -329
- package/skills/go-rust-cpp/golang-pro/references/generics.md +442 -442
- package/skills/go-rust-cpp/golang-pro/references/interfaces.md +432 -432
- package/skills/go-rust-cpp/golang-pro/references/project-structure.md +477 -477
- package/skills/go-rust-cpp/golang-pro/references/testing.md +451 -451
- package/skills/go-rust-cpp/rust-engineer/SKILL.md +167 -167
- package/skills/go-rust-cpp/rust-engineer/references/async.md +458 -458
- package/skills/go-rust-cpp/rust-engineer/references/error-handling.md +334 -334
- package/skills/go-rust-cpp/rust-engineer/references/ownership.md +278 -278
- package/skills/go-rust-cpp/rust-engineer/references/testing.md +470 -470
- package/skills/go-rust-cpp/rust-engineer/references/traits.md +413 -413
- package/skills/infra/cli-developer/SKILL.md +113 -113
- package/skills/infra/cli-developer/references/design-patterns.md +221 -221
- package/skills/infra/cli-developer/references/go-cli.md +540 -540
- package/skills/infra/cli-developer/references/node-cli.md +383 -383
- package/skills/infra/cli-developer/references/python-cli.md +422 -422
- package/skills/infra/cli-developer/references/ux-patterns.md +448 -448
- package/skills/infra/cloud-architect/SKILL.md +216 -216
- package/skills/infra/cloud-architect/references/aws.md +394 -394
- package/skills/infra/cloud-architect/references/azure.md +562 -562
- package/skills/infra/cloud-architect/references/cost.md +582 -582
- package/skills/infra/cloud-architect/references/gcp.md +633 -633
- package/skills/infra/cloud-architect/references/multi-cloud.md +483 -483
- package/skills/infra/devops-engineer/SKILL.md +144 -144
- package/skills/infra/devops-engineer/references/deployment-strategies.md +241 -241
- package/skills/infra/devops-engineer/references/docker-patterns.md +113 -113
- package/skills/infra/devops-engineer/references/github-actions.md +139 -139
- package/skills/infra/devops-engineer/references/incident-response.md +331 -331
- package/skills/infra/devops-engineer/references/kubernetes.md +154 -154
- package/skills/infra/devops-engineer/references/platform-engineering.md +417 -417
- package/skills/infra/devops-engineer/references/release-automation.md +527 -527
- package/skills/infra/devops-engineer/references/terraform-iac.md +141 -141
- package/skills/infra/kubernetes-specialist/SKILL.md +241 -241
- package/skills/infra/kubernetes-specialist/references/configuration.md +452 -452
- package/skills/infra/kubernetes-specialist/references/cost-optimization.md +458 -458
- package/skills/infra/kubernetes-specialist/references/custom-operators.md +563 -563
- package/skills/infra/kubernetes-specialist/references/gitops.md +530 -530
- package/skills/infra/kubernetes-specialist/references/helm-charts.md +912 -912
- package/skills/infra/kubernetes-specialist/references/multi-cluster.md +507 -507
- package/skills/infra/kubernetes-specialist/references/networking.md +447 -447
- package/skills/infra/kubernetes-specialist/references/service-mesh.md +459 -459
- package/skills/infra/kubernetes-specialist/references/storage.md +535 -535
- package/skills/infra/kubernetes-specialist/references/troubleshooting.md +414 -414
- package/skills/infra/kubernetes-specialist/references/workloads.md +377 -377
- package/skills/infra/mcp-developer/SKILL.md +143 -143
- package/skills/infra/mcp-developer/references/protocol.md +244 -244
- package/skills/infra/mcp-developer/references/python-sdk.md +367 -367
- package/skills/infra/mcp-developer/references/resources.md +554 -554
- package/skills/infra/mcp-developer/references/tools.md +480 -480
- package/skills/infra/mcp-developer/references/typescript-sdk.md +350 -350
- package/skills/infra/monitoring-expert/SKILL.md +176 -176
- package/skills/infra/monitoring-expert/references/alerting-rules.md +141 -141
- package/skills/infra/monitoring-expert/references/application-profiling.md +331 -331
- package/skills/infra/monitoring-expert/references/capacity-planning.md +344 -344
- package/skills/infra/monitoring-expert/references/dashboards.md +126 -126
- package/skills/infra/monitoring-expert/references/opentelemetry.md +123 -123
- package/skills/infra/monitoring-expert/references/performance-testing.md +269 -269
- package/skills/infra/monitoring-expert/references/prometheus-metrics.md +136 -136
- package/skills/infra/monitoring-expert/references/structured-logging.md +142 -142
- package/skills/infra/sre-engineer/SKILL.md +181 -181
- package/skills/infra/sre-engineer/references/automation-toil.md +492 -492
- package/skills/infra/sre-engineer/references/error-budget-policy.md +334 -334
- package/skills/infra/sre-engineer/references/incident-chaos.md +576 -576
- package/skills/infra/sre-engineer/references/monitoring-alerting.md +424 -424
- package/skills/infra/sre-engineer/references/slo-sli-management.md +238 -238
- package/skills/infra/terraform-engineer/SKILL.md +143 -143
- package/skills/infra/terraform-engineer/references/best-practices.md +583 -583
- package/skills/infra/terraform-engineer/references/module-patterns.md +297 -297
- package/skills/infra/terraform-engineer/references/providers.md +452 -452
- package/skills/infra/terraform-engineer/references/state-management.md +371 -371
- package/skills/infra/terraform-engineer/references/testing.md +486 -486
- package/skills/infra/websocket-engineer/SKILL.md +168 -168
- package/skills/infra/websocket-engineer/references/alternatives.md +391 -391
- package/skills/infra/websocket-engineer/references/patterns.md +400 -400
- package/skills/infra/websocket-engineer/references/protocol.md +195 -195
- package/skills/infra/websocket-engineer/references/scaling.md +333 -333
- package/skills/infra/websocket-engineer/references/security.md +474 -474
- package/skills/java/java-architect/SKILL.md +132 -132
- package/skills/java/java-architect/references/jpa-optimization.md +393 -393
- package/skills/java/java-architect/references/reactive-webflux.md +356 -356
- package/skills/java/java-architect/references/spring-boot-setup.md +269 -269
- package/skills/java/java-architect/references/spring-security.md +445 -445
- package/skills/java/java-architect/references/testing-patterns.md +500 -500
- package/skills/java/kotlin-specialist/SKILL.md +147 -147
- package/skills/java/kotlin-specialist/references/android-compose.md +419 -419
- package/skills/java/kotlin-specialist/references/coroutines-flow.md +276 -276
- package/skills/java/kotlin-specialist/references/dsl-idioms.md +421 -421
- package/skills/java/kotlin-specialist/references/ktor-server.md +426 -426
- package/skills/java/kotlin-specialist/references/multiplatform-kmp.md +380 -380
- package/skills/java/spring-boot-engineer/SKILL.md +195 -195
- package/skills/java/spring-boot-engineer/references/cloud.md +498 -498
- package/skills/java/spring-boot-engineer/references/data.md +381 -381
- package/skills/java/spring-boot-engineer/references/security.md +459 -459
- package/skills/java/spring-boot-engineer/references/testing.md +545 -545
- package/skills/java/spring-boot-engineer/references/web.md +295 -295
- package/skills/javascript/javascript-pro/SKILL.md +132 -132
- package/skills/javascript/javascript-pro/references/async-patterns.md +334 -334
- package/skills/javascript/javascript-pro/references/browser-apis.md +398 -398
- package/skills/javascript/javascript-pro/references/modern-syntax.md +272 -272
- package/skills/javascript/javascript-pro/references/modules.md +357 -357
- package/skills/javascript/javascript-pro/references/node-essentials.md +471 -471
- package/skills/javascript/nestjs-expert/SKILL.md +206 -206
- package/skills/javascript/nestjs-expert/references/authentication.md +166 -166
- package/skills/javascript/nestjs-expert/references/controllers-routing.md +111 -111
- package/skills/javascript/nestjs-expert/references/dtos-validation.md +153 -153
- package/skills/javascript/nestjs-expert/references/migration-from-express.md +1237 -1237
- package/skills/javascript/nestjs-expert/references/services-di.md +140 -140
- package/skills/javascript/nestjs-expert/references/testing-patterns.md +186 -186
- package/skills/javascript/typescript-pro/SKILL.md +145 -145
- package/skills/javascript/typescript-pro/references/advanced-types.md +259 -259
- package/skills/javascript/typescript-pro/references/configuration.md +445 -445
- package/skills/javascript/typescript-pro/references/patterns.md +484 -484
- package/skills/javascript/typescript-pro/references/type-guards.md +352 -352
- package/skills/javascript/typescript-pro/references/utility-types.md +329 -329
- package/skills/php/laravel-specialist/SKILL.md +262 -262
- package/skills/php/laravel-specialist/references/eloquent.md +351 -351
- package/skills/php/laravel-specialist/references/livewire.md +512 -512
- package/skills/php/laravel-specialist/references/queues.md +423 -423
- package/skills/php/laravel-specialist/references/routing.md +362 -362
- package/skills/php/laravel-specialist/references/testing.md +522 -522
- package/skills/php/php-pro/SKILL.md +206 -206
- package/skills/php/php-pro/references/async-patterns.md +412 -412
- package/skills/php/php-pro/references/laravel-patterns.md +377 -377
- package/skills/php/php-pro/references/modern-php-features.md +323 -323
- package/skills/php/php-pro/references/symfony-patterns.md +466 -466
- package/skills/php/php-pro/references/testing-quality.md +466 -466
- package/skills/product/competitive-analysis/SKILL.md +257 -257
- package/skills/product/meeting-notes/SKILL.md +266 -266
- package/skills/product/prd-template/SKILL.md +150 -150
- package/skills/product/stakeholder-update/SKILL.md +225 -225
- package/skills/product/user-research-synthesis/SKILL.md +235 -235
- package/skills/python/django-expert/SKILL.md +162 -162
- package/skills/python/django-expert/references/authentication.md +145 -145
- package/skills/python/django-expert/references/drf-serializers.md +148 -148
- package/skills/python/django-expert/references/models-orm.md +151 -151
- package/skills/python/django-expert/references/testing-django.md +204 -204
- package/skills/python/django-expert/references/viewsets-views.md +153 -153
- package/skills/python/fastapi-expert/SKILL.md +185 -185
- package/skills/python/fastapi-expert/references/async-sqlalchemy.md +146 -146
- package/skills/python/fastapi-expert/references/authentication.md +159 -159
- package/skills/python/fastapi-expert/references/endpoints-routing.md +142 -142
- package/skills/python/fastapi-expert/references/migration-from-django.md +996 -996
- package/skills/python/fastapi-expert/references/pydantic-v2.md +135 -135
- package/skills/python/fastapi-expert/references/testing-async.md +159 -159
- package/skills/python/pandas-pro/SKILL.md +178 -178
- package/skills/python/pandas-pro/references/aggregation-groupby.md +545 -545
- package/skills/python/pandas-pro/references/data-cleaning.md +500 -500
- package/skills/python/pandas-pro/references/dataframe-operations.md +420 -420
- package/skills/python/pandas-pro/references/merging-joining.md +596 -596
- package/skills/python/pandas-pro/references/performance-optimization.md +597 -597
- package/skills/python/python-pro/SKILL.md +177 -177
- package/skills/python/python-pro/references/async-patterns.md +356 -356
- package/skills/python/python-pro/references/packaging.md +460 -460
- package/skills/python/python-pro/references/standard-library.md +378 -378
- package/skills/python/python-pro/references/testing.md +404 -404
- package/skills/python/python-pro/references/type-system.md +290 -290
- package/skills/quality/chaos-engineer/SKILL.md +182 -182
- package/skills/quality/chaos-engineer/references/chaos-tools.md +511 -511
- package/skills/quality/chaos-engineer/references/experiment-design.md +229 -229
- package/skills/quality/chaos-engineer/references/game-days.md +434 -434
- package/skills/quality/chaos-engineer/references/infrastructure-chaos.md +348 -348
- package/skills/quality/chaos-engineer/references/kubernetes-chaos.md +432 -432
- package/skills/quality/code-reviewer/SKILL.md +119 -119
- package/skills/quality/code-reviewer/references/common-issues.md +142 -142
- package/skills/quality/code-reviewer/references/feedback-examples.md +144 -144
- package/skills/quality/code-reviewer/references/receiving-feedback.md +238 -238
- package/skills/quality/code-reviewer/references/report-template.md +109 -109
- package/skills/quality/code-reviewer/references/review-checklist.md +88 -88
- package/skills/quality/code-reviewer/references/spec-compliance-review.md +258 -258
- package/skills/quality/playwright-expert/SKILL.md +169 -169
- package/skills/quality/playwright-expert/references/api-mocking.md +140 -140
- package/skills/quality/playwright-expert/references/configuration.md +155 -155
- package/skills/quality/playwright-expert/references/debugging-flaky.md +150 -150
- package/skills/quality/playwright-expert/references/page-object-model.md +152 -152
- package/skills/quality/playwright-expert/references/selectors-locators.md +119 -119
- package/skills/quality/secure-code-guardian/SKILL.md +191 -191
- package/skills/quality/secure-code-guardian/references/authentication.md +136 -136
- package/skills/quality/secure-code-guardian/references/input-validation.md +146 -146
- package/skills/quality/secure-code-guardian/references/owasp-prevention.md +135 -135
- package/skills/quality/secure-code-guardian/references/security-headers.md +133 -133
- package/skills/quality/secure-code-guardian/references/xss-csrf.md +157 -157
- package/skills/quality/security-reviewer/SKILL.md +103 -103
- package/skills/quality/security-reviewer/references/infrastructure-security.md +268 -268
- package/skills/quality/security-reviewer/references/penetration-testing.md +268 -268
- package/skills/quality/security-reviewer/references/report-template.md +170 -170
- package/skills/quality/security-reviewer/references/sast-tools.md +117 -117
- package/skills/quality/security-reviewer/references/secret-scanning.md +125 -125
- package/skills/quality/security-reviewer/references/vulnerability-patterns.md +152 -152
- package/skills/quality/senior-qa/README.md +196 -196
- package/skills/quality/senior-qa/SKILL.md +399 -399
- package/skills/quality/senior-qa/references/qa_best_practices.md +964 -964
- package/skills/quality/senior-qa/references/test_automation_patterns.md +1009 -1009
- package/skills/quality/senior-qa/references/testing_strategies.md +649 -649
- package/skills/quality/senior-qa/scripts/coverage_analyzer.py +836 -836
- package/skills/quality/senior-qa/scripts/e2e_test_scaffolder.py +820 -820
- package/skills/quality/senior-qa/scripts/test_suite_generator.py +605 -605
- package/skills/quality/tdd-guide/HOW_TO_USE.md +313 -313
- package/skills/quality/tdd-guide/README.md +680 -680
- package/skills/quality/tdd-guide/SKILL.md +122 -122
- package/skills/quality/tdd-guide/assets/expected_output.json +77 -77
- package/skills/quality/tdd-guide/assets/sample_input_python.json +39 -39
- package/skills/quality/tdd-guide/assets/sample_input_typescript.json +36 -36
- package/skills/quality/tdd-guide/references/ci-integration.md +195 -195
- package/skills/quality/tdd-guide/references/framework-guide.md +206 -206
- package/skills/quality/tdd-guide/references/tdd-best-practices.md +128 -128
- package/skills/quality/tdd-guide/scripts/coverage_analyzer.py +434 -434
- package/skills/quality/tdd-guide/scripts/fixture_generator.py +440 -440
- package/skills/quality/tdd-guide/scripts/format_detector.py +384 -384
- package/skills/quality/tdd-guide/scripts/framework_adapter.py +428 -428
- package/skills/quality/tdd-guide/scripts/metrics_calculator.py +456 -456
- package/skills/quality/tdd-guide/scripts/output_formatter.py +354 -354
- package/skills/quality/tdd-guide/scripts/tdd_workflow.py +474 -474
- package/skills/quality/tdd-guide/scripts/test_generator.py +438 -438
- package/skills/quality/test-master/SKILL.md +94 -94
- package/skills/quality/test-master/references/automation-frameworks.md +294 -294
- package/skills/quality/test-master/references/e2e-testing.md +128 -128
- package/skills/quality/test-master/references/integration-testing.md +120 -120
- package/skills/quality/test-master/references/performance-testing.md +118 -118
- package/skills/quality/test-master/references/qa-methodology.md +247 -247
- package/skills/quality/test-master/references/security-testing.md +127 -127
- package/skills/quality/test-master/references/tdd-iron-laws.md +174 -174
- package/skills/quality/test-master/references/test-reports.md +104 -104
- package/skills/quality/test-master/references/testing-anti-patterns.md +231 -231
- package/skills/quality/test-master/references/unit-testing.md +113 -113
- package/skills/ruby/rails-expert/SKILL.md +154 -154
- package/skills/ruby/rails-expert/references/active-record.md +244 -244
- package/skills/ruby/rails-expert/references/api-development.md +401 -401
- package/skills/ruby/rails-expert/references/background-jobs.md +272 -272
- package/skills/ruby/rails-expert/references/hotwire-turbo.md +228 -228
- package/skills/ruby/rails-expert/references/rspec-testing.md +367 -367
- package/skills/swift/swift-expert/SKILL.md +163 -163
- package/skills/swift/swift-expert/references/async-concurrency.md +360 -360
- package/skills/swift/swift-expert/references/memory-performance.md +377 -377
- package/skills/swift/swift-expert/references/protocol-oriented.md +354 -354
- package/skills/swift/swift-expert/references/swiftui-patterns.md +291 -291
- package/skills/swift/swift-expert/references/testing-patterns.md +399 -399
- package/skills/workflow/brainstorming/SKILL.md +164 -164
- package/skills/workflow/brainstorming/scripts/frame-template.html +214 -214
- package/skills/workflow/brainstorming/scripts/helper.js +88 -88
- package/skills/workflow/brainstorming/scripts/server.cjs +354 -354
- package/skills/workflow/brainstorming/scripts/start-server.sh +148 -148
- package/skills/workflow/brainstorming/scripts/stop-server.sh +56 -56
- package/skills/workflow/brainstorming/spec-document-reviewer-prompt.md +49 -49
- package/skills/workflow/brainstorming/visual-companion.md +287 -287
- package/skills/workflow/documentation/SKILL.md +45 -45
- package/skills/workflow/entropy-management/SKILL.md +115 -115
- package/skills/workflow/executing-plans/SKILL.md +70 -70
- package/skills/workflow/finishing-a-development-branch/SKILL.md +200 -200
- package/skills/workflow/receiving-code-review/SKILL.md +213 -213
- package/skills/workflow/requesting-code-review/SKILL.md +105 -105
- package/skills/workflow/requesting-code-review/code-reviewer.md +146 -146
- package/skills/workflow/requirement-engineering/SKILL.md +111 -111
- package/skills/workflow/systematic-debugging/CREATION-LOG.md +119 -119
- package/skills/workflow/systematic-debugging/SKILL.md +296 -296
- package/skills/workflow/systematic-debugging/condition-based-waiting-example.ts +158 -158
- package/skills/workflow/systematic-debugging/condition-based-waiting.md +115 -115
- package/skills/workflow/systematic-debugging/defense-in-depth.md +122 -122
- package/skills/workflow/systematic-debugging/find-polluter.sh +63 -63
- package/skills/workflow/systematic-debugging/root-cause-tracing.md +169 -169
- package/skills/workflow/systematic-debugging/test-academic.md +14 -14
- package/skills/workflow/systematic-debugging/test-pressure-1.md +58 -58
- package/skills/workflow/systematic-debugging/test-pressure-2.md +68 -68
- package/skills/workflow/systematic-debugging/test-pressure-3.md +69 -69
- package/skills/workflow/using-git-worktrees/SKILL.md +218 -218
- package/skills/workflow/verification-before-completion/SKILL.md +139 -139
- package/skills/workflow/writing-plans/SKILL.md +151 -151
- package/skills/workflow/writing-plans/plan-document-reviewer-prompt.md +49 -49
- package/skills/workflow/writing-skills/SKILL.md +655 -655
- package/skills/workflow/writing-skills/anthropic-best-practices.md +1150 -1150
- package/skills/workflow/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -189
- package/skills/workflow/writing-skills/persuasion-principles.md +187 -187
- package/skills/workflow/writing-skills/render-graphs.js +168 -168
- package/skills/workflow/writing-skills/testing-skills-with-subagents.md +384 -384
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
# Architecture Patterns
|
|
2
|
-
|
|
3
|
-
## Pattern Comparison
|
|
4
|
-
|
|
5
|
-
| Pattern | Best For | Team Size | Trade-offs |
|
|
6
|
-
|---------|----------|-----------|------------|
|
|
7
|
-
| **Monolith** | Simple domain, small team | 1-10 | Simple deploy; hard to scale parts |
|
|
8
|
-
| **Modular Monolith** | Growing complexity | 5-20 | Module boundaries; still single deploy |
|
|
9
|
-
| **Microservices** | Complex domain, large org | 20+ | Independent scale; operational complexity |
|
|
10
|
-
| **Serverless** | Variable load, event-driven | Any | Auto-scale; cold starts, vendor lock |
|
|
11
|
-
| **Event-Driven** | Async processing | 10+ | Loose coupling; debugging complexity |
|
|
12
|
-
|
|
13
|
-
## Monolith
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
┌─────────────────────────────────────┐
|
|
17
|
-
│ Application │
|
|
18
|
-
│ ┌─────┐ ┌─────┐ ┌─────┐ │
|
|
19
|
-
│ │Users│ │Orders│ │Products│ │
|
|
20
|
-
│ └─────┘ └─────┘ └─────┘ │
|
|
21
|
-
│ └──────────┬──────────────┘ │
|
|
22
|
-
│ Database │
|
|
23
|
-
└─────────────────────────────────────┘
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
**When to Use**:
|
|
27
|
-
- Starting a new project
|
|
28
|
-
- Small team (< 10 developers)
|
|
29
|
-
- Simple domain
|
|
30
|
-
- Rapid iteration needed
|
|
31
|
-
|
|
32
|
-
**Pros**: Simple deployment, easy debugging, no network latency
|
|
33
|
-
**Cons**: Hard to scale independently, technology locked, deployment risk
|
|
34
|
-
|
|
35
|
-
## Microservices
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
39
|
-
│ Users │ │ Orders │ │ Products │
|
|
40
|
-
│ Service │ │ Service │ │ Service │
|
|
41
|
-
└────┬─────┘ └────┬─────┘ └────┬─────┘
|
|
42
|
-
│ │ │
|
|
43
|
-
┌────▼────┐ ┌────▼────┐ ┌────▼────┐
|
|
44
|
-
│ User DB │ │Order DB │ │ Prod DB │
|
|
45
|
-
└─────────┘ └─────────┘ └─────────┘
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
**When to Use**:
|
|
49
|
-
- Large team (20+ developers)
|
|
50
|
-
- Complex domain with clear boundaries
|
|
51
|
-
- Different scaling requirements per service
|
|
52
|
-
- Polyglot technology needs
|
|
53
|
-
|
|
54
|
-
**Pros**: Independent scaling, team autonomy, fault isolation
|
|
55
|
-
**Cons**: Distributed system complexity, eventual consistency, operational overhead
|
|
56
|
-
|
|
57
|
-
## Event-Driven
|
|
58
|
-
|
|
59
|
-
```
|
|
60
|
-
┌──────────┐ ┌─────────────┐ ┌──────────┐
|
|
61
|
-
│ Producer │────▶│ Message Bus │────▶│ Consumer │
|
|
62
|
-
└──────────┘ │ (Kafka) │ └──────────┘
|
|
63
|
-
└─────────────┘
|
|
64
|
-
│
|
|
65
|
-
▼
|
|
66
|
-
┌──────────┐
|
|
67
|
-
│ Consumer │
|
|
68
|
-
└──────────┘
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
**When to Use**:
|
|
72
|
-
- Async processing required
|
|
73
|
-
- Loose coupling between services
|
|
74
|
-
- Event sourcing needs
|
|
75
|
-
- High throughput messaging
|
|
76
|
-
|
|
77
|
-
**Pros**: Decoupled services, scalable, audit trail
|
|
78
|
-
**Cons**: Eventual consistency, debugging complexity, message ordering
|
|
79
|
-
|
|
80
|
-
## CQRS (Command Query Responsibility Segregation)
|
|
81
|
-
|
|
82
|
-
```
|
|
83
|
-
┌─────────┐ ┌─────────────┐
|
|
84
|
-
│ Commands│────────▶│ Write Model │──┐
|
|
85
|
-
└─────────┘ └─────────────┘ │
|
|
86
|
-
▼
|
|
87
|
-
┌──────────┐
|
|
88
|
-
│ Events │
|
|
89
|
-
└──────────┘
|
|
90
|
-
│
|
|
91
|
-
┌─────────┐ ┌─────────────┐ │
|
|
92
|
-
│ Queries │◀────────│ Read Model │◀─┘
|
|
93
|
-
└─────────┘ └─────────────┘
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
**When to Use**:
|
|
97
|
-
- Read/write ratio heavily skewed
|
|
98
|
-
- Complex read queries
|
|
99
|
-
- Event sourcing architecture
|
|
100
|
-
- Different optimization needs
|
|
101
|
-
|
|
102
|
-
## Quick Reference
|
|
103
|
-
|
|
104
|
-
| Requirement | Recommended Pattern |
|
|
105
|
-
|-------------|---------------------|
|
|
106
|
-
| Simple CRUD app | Monolith |
|
|
107
|
-
| Growing startup | Modular Monolith |
|
|
108
|
-
| Enterprise scale | Microservices |
|
|
109
|
-
| Variable load | Serverless |
|
|
110
|
-
| Async processing | Event-Driven |
|
|
111
|
-
| Read-heavy | CQRS |
|
|
1
|
+
# Architecture Patterns
|
|
2
|
+
|
|
3
|
+
## Pattern Comparison
|
|
4
|
+
|
|
5
|
+
| Pattern | Best For | Team Size | Trade-offs |
|
|
6
|
+
|---------|----------|-----------|------------|
|
|
7
|
+
| **Monolith** | Simple domain, small team | 1-10 | Simple deploy; hard to scale parts |
|
|
8
|
+
| **Modular Monolith** | Growing complexity | 5-20 | Module boundaries; still single deploy |
|
|
9
|
+
| **Microservices** | Complex domain, large org | 20+ | Independent scale; operational complexity |
|
|
10
|
+
| **Serverless** | Variable load, event-driven | Any | Auto-scale; cold starts, vendor lock |
|
|
11
|
+
| **Event-Driven** | Async processing | 10+ | Loose coupling; debugging complexity |
|
|
12
|
+
|
|
13
|
+
## Monolith
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
┌─────────────────────────────────────┐
|
|
17
|
+
│ Application │
|
|
18
|
+
│ ┌─────┐ ┌─────┐ ┌─────┐ │
|
|
19
|
+
│ │Users│ │Orders│ │Products│ │
|
|
20
|
+
│ └─────┘ └─────┘ └─────┘ │
|
|
21
|
+
│ └──────────┬──────────────┘ │
|
|
22
|
+
│ Database │
|
|
23
|
+
└─────────────────────────────────────┘
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**When to Use**:
|
|
27
|
+
- Starting a new project
|
|
28
|
+
- Small team (< 10 developers)
|
|
29
|
+
- Simple domain
|
|
30
|
+
- Rapid iteration needed
|
|
31
|
+
|
|
32
|
+
**Pros**: Simple deployment, easy debugging, no network latency
|
|
33
|
+
**Cons**: Hard to scale independently, technology locked, deployment risk
|
|
34
|
+
|
|
35
|
+
## Microservices
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
39
|
+
│ Users │ │ Orders │ │ Products │
|
|
40
|
+
│ Service │ │ Service │ │ Service │
|
|
41
|
+
└────┬─────┘ └────┬─────┘ └────┬─────┘
|
|
42
|
+
│ │ │
|
|
43
|
+
┌────▼────┐ ┌────▼────┐ ┌────▼────┐
|
|
44
|
+
│ User DB │ │Order DB │ │ Prod DB │
|
|
45
|
+
└─────────┘ └─────────┘ └─────────┘
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**When to Use**:
|
|
49
|
+
- Large team (20+ developers)
|
|
50
|
+
- Complex domain with clear boundaries
|
|
51
|
+
- Different scaling requirements per service
|
|
52
|
+
- Polyglot technology needs
|
|
53
|
+
|
|
54
|
+
**Pros**: Independent scaling, team autonomy, fault isolation
|
|
55
|
+
**Cons**: Distributed system complexity, eventual consistency, operational overhead
|
|
56
|
+
|
|
57
|
+
## Event-Driven
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
┌──────────┐ ┌─────────────┐ ┌──────────┐
|
|
61
|
+
│ Producer │────▶│ Message Bus │────▶│ Consumer │
|
|
62
|
+
└──────────┘ │ (Kafka) │ └──────────┘
|
|
63
|
+
└─────────────┘
|
|
64
|
+
│
|
|
65
|
+
▼
|
|
66
|
+
┌──────────┐
|
|
67
|
+
│ Consumer │
|
|
68
|
+
└──────────┘
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**When to Use**:
|
|
72
|
+
- Async processing required
|
|
73
|
+
- Loose coupling between services
|
|
74
|
+
- Event sourcing needs
|
|
75
|
+
- High throughput messaging
|
|
76
|
+
|
|
77
|
+
**Pros**: Decoupled services, scalable, audit trail
|
|
78
|
+
**Cons**: Eventual consistency, debugging complexity, message ordering
|
|
79
|
+
|
|
80
|
+
## CQRS (Command Query Responsibility Segregation)
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
┌─────────┐ ┌─────────────┐
|
|
84
|
+
│ Commands│────────▶│ Write Model │──┐
|
|
85
|
+
└─────────┘ └─────────────┘ │
|
|
86
|
+
▼
|
|
87
|
+
┌──────────┐
|
|
88
|
+
│ Events │
|
|
89
|
+
└──────────┘
|
|
90
|
+
│
|
|
91
|
+
┌─────────┐ ┌─────────────┐ │
|
|
92
|
+
│ Queries │◀────────│ Read Model │◀─┘
|
|
93
|
+
└─────────┘ └─────────────┘
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**When to Use**:
|
|
97
|
+
- Read/write ratio heavily skewed
|
|
98
|
+
- Complex read queries
|
|
99
|
+
- Event sourcing architecture
|
|
100
|
+
- Different optimization needs
|
|
101
|
+
|
|
102
|
+
## Quick Reference
|
|
103
|
+
|
|
104
|
+
| Requirement | Recommended Pattern |
|
|
105
|
+
|-------------|---------------------|
|
|
106
|
+
| Simple CRUD app | Monolith |
|
|
107
|
+
| Growing startup | Modular Monolith |
|
|
108
|
+
| Enterprise scale | Microservices |
|
|
109
|
+
| Variable load | Serverless |
|
|
110
|
+
| Async processing | Event-Driven |
|
|
111
|
+
| Read-heavy | CQRS |
|
|
@@ -1,102 +1,102 @@
|
|
|
1
|
-
# Database Selection
|
|
2
|
-
|
|
3
|
-
## Database Types
|
|
4
|
-
|
|
5
|
-
| Type | Examples | Best For |
|
|
6
|
-
|------|----------|----------|
|
|
7
|
-
| **Relational** | PostgreSQL, MySQL | Transactions, complex queries, relationships |
|
|
8
|
-
| **Document** | MongoDB, Firestore | Flexible schemas, rapid iteration |
|
|
9
|
-
| **Key-Value** | Redis, DynamoDB | Caching, sessions, high throughput |
|
|
10
|
-
| **Time-Series** | TimescaleDB, InfluxDB | Metrics, IoT, analytics |
|
|
11
|
-
| **Graph** | Neo4j, Neptune | Relationships, social networks |
|
|
12
|
-
| **Search** | Elasticsearch, Meilisearch | Full-text search, logs |
|
|
13
|
-
|
|
14
|
-
## Relational (PostgreSQL, MySQL)
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
Best For:
|
|
18
|
-
- Financial transactions (ACID compliance)
|
|
19
|
-
- Complex queries with joins
|
|
20
|
-
- Data integrity requirements
|
|
21
|
-
- Structured, predictable schemas
|
|
22
|
-
|
|
23
|
-
When to Avoid:
|
|
24
|
-
- Highly variable schemas
|
|
25
|
-
- Massive horizontal scaling needs
|
|
26
|
-
- Simple key-value access patterns
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
| Feature | PostgreSQL | MySQL |
|
|
30
|
-
|---------|------------|-------|
|
|
31
|
-
| JSON support | Excellent (JSONB) | Good (JSON) |
|
|
32
|
-
| Full-text search | Built-in | Basic |
|
|
33
|
-
| Extensions | Rich ecosystem | Limited |
|
|
34
|
-
| Replication | Streaming, logical | Statement, row-based |
|
|
35
|
-
|
|
36
|
-
## Document (MongoDB, Firestore)
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
Best For:
|
|
40
|
-
- Flexible, evolving schemas
|
|
41
|
-
- Hierarchical data (nested documents)
|
|
42
|
-
- Rapid prototyping
|
|
43
|
-
- Content management
|
|
44
|
-
|
|
45
|
-
When to Avoid:
|
|
46
|
-
- Complex transactions across documents
|
|
47
|
-
- Heavy relational queries
|
|
48
|
-
- Strict schema requirements
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Key-Value (Redis, DynamoDB)
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
Best For:
|
|
55
|
-
- Session storage
|
|
56
|
-
- Caching layer
|
|
57
|
-
- Real-time leaderboards
|
|
58
|
-
- Rate limiting counters
|
|
59
|
-
|
|
60
|
-
When to Avoid:
|
|
61
|
-
- Complex queries
|
|
62
|
-
- Relational data
|
|
63
|
-
- Large value sizes (>1MB)
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
## Time-Series (TimescaleDB, InfluxDB)
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
Best For:
|
|
70
|
-
- Metrics and monitoring
|
|
71
|
-
- IoT sensor data
|
|
72
|
-
- Financial tick data
|
|
73
|
-
- Event logging with timestamps
|
|
74
|
-
|
|
75
|
-
When to Avoid:
|
|
76
|
-
- Frequent updates to existing records
|
|
77
|
-
- Complex relational queries
|
|
78
|
-
- Non-time-based access patterns
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Decision Matrix
|
|
82
|
-
|
|
83
|
-
| Requirement | Recommended |
|
|
84
|
-
|-------------|-------------|
|
|
85
|
-
| ACID transactions | PostgreSQL, MySQL |
|
|
86
|
-
| Flexible schema | MongoDB, Firestore |
|
|
87
|
-
| High-speed caching | Redis |
|
|
88
|
-
| Time-series data | TimescaleDB, InfluxDB |
|
|
89
|
-
| Social relationships | Neo4j |
|
|
90
|
-
| Full-text search | Elasticsearch |
|
|
91
|
-
| Serverless scale | DynamoDB, Firestore |
|
|
92
|
-
|
|
93
|
-
## Quick Reference
|
|
94
|
-
|
|
95
|
-
| Question | If Yes → |
|
|
96
|
-
|----------|----------|
|
|
97
|
-
| Need ACID transactions? | Relational (PostgreSQL) |
|
|
98
|
-
| Schema changes frequently? | Document (MongoDB) |
|
|
99
|
-
| Sub-millisecond reads? | Key-Value (Redis) |
|
|
100
|
-
| Time-based queries? | Time-Series |
|
|
101
|
-
| Traversing relationships? | Graph (Neo4j) |
|
|
102
|
-
| Full-text search primary? | Elasticsearch |
|
|
1
|
+
# Database Selection
|
|
2
|
+
|
|
3
|
+
## Database Types
|
|
4
|
+
|
|
5
|
+
| Type | Examples | Best For |
|
|
6
|
+
|------|----------|----------|
|
|
7
|
+
| **Relational** | PostgreSQL, MySQL | Transactions, complex queries, relationships |
|
|
8
|
+
| **Document** | MongoDB, Firestore | Flexible schemas, rapid iteration |
|
|
9
|
+
| **Key-Value** | Redis, DynamoDB | Caching, sessions, high throughput |
|
|
10
|
+
| **Time-Series** | TimescaleDB, InfluxDB | Metrics, IoT, analytics |
|
|
11
|
+
| **Graph** | Neo4j, Neptune | Relationships, social networks |
|
|
12
|
+
| **Search** | Elasticsearch, Meilisearch | Full-text search, logs |
|
|
13
|
+
|
|
14
|
+
## Relational (PostgreSQL, MySQL)
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
Best For:
|
|
18
|
+
- Financial transactions (ACID compliance)
|
|
19
|
+
- Complex queries with joins
|
|
20
|
+
- Data integrity requirements
|
|
21
|
+
- Structured, predictable schemas
|
|
22
|
+
|
|
23
|
+
When to Avoid:
|
|
24
|
+
- Highly variable schemas
|
|
25
|
+
- Massive horizontal scaling needs
|
|
26
|
+
- Simple key-value access patterns
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
| Feature | PostgreSQL | MySQL |
|
|
30
|
+
|---------|------------|-------|
|
|
31
|
+
| JSON support | Excellent (JSONB) | Good (JSON) |
|
|
32
|
+
| Full-text search | Built-in | Basic |
|
|
33
|
+
| Extensions | Rich ecosystem | Limited |
|
|
34
|
+
| Replication | Streaming, logical | Statement, row-based |
|
|
35
|
+
|
|
36
|
+
## Document (MongoDB, Firestore)
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Best For:
|
|
40
|
+
- Flexible, evolving schemas
|
|
41
|
+
- Hierarchical data (nested documents)
|
|
42
|
+
- Rapid prototyping
|
|
43
|
+
- Content management
|
|
44
|
+
|
|
45
|
+
When to Avoid:
|
|
46
|
+
- Complex transactions across documents
|
|
47
|
+
- Heavy relational queries
|
|
48
|
+
- Strict schema requirements
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Key-Value (Redis, DynamoDB)
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
Best For:
|
|
55
|
+
- Session storage
|
|
56
|
+
- Caching layer
|
|
57
|
+
- Real-time leaderboards
|
|
58
|
+
- Rate limiting counters
|
|
59
|
+
|
|
60
|
+
When to Avoid:
|
|
61
|
+
- Complex queries
|
|
62
|
+
- Relational data
|
|
63
|
+
- Large value sizes (>1MB)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Time-Series (TimescaleDB, InfluxDB)
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
Best For:
|
|
70
|
+
- Metrics and monitoring
|
|
71
|
+
- IoT sensor data
|
|
72
|
+
- Financial tick data
|
|
73
|
+
- Event logging with timestamps
|
|
74
|
+
|
|
75
|
+
When to Avoid:
|
|
76
|
+
- Frequent updates to existing records
|
|
77
|
+
- Complex relational queries
|
|
78
|
+
- Non-time-based access patterns
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Decision Matrix
|
|
82
|
+
|
|
83
|
+
| Requirement | Recommended |
|
|
84
|
+
|-------------|-------------|
|
|
85
|
+
| ACID transactions | PostgreSQL, MySQL |
|
|
86
|
+
| Flexible schema | MongoDB, Firestore |
|
|
87
|
+
| High-speed caching | Redis |
|
|
88
|
+
| Time-series data | TimescaleDB, InfluxDB |
|
|
89
|
+
| Social relationships | Neo4j |
|
|
90
|
+
| Full-text search | Elasticsearch |
|
|
91
|
+
| Serverless scale | DynamoDB, Firestore |
|
|
92
|
+
|
|
93
|
+
## Quick Reference
|
|
94
|
+
|
|
95
|
+
| Question | If Yes → |
|
|
96
|
+
|----------|----------|
|
|
97
|
+
| Need ACID transactions? | Relational (PostgreSQL) |
|
|
98
|
+
| Schema changes frequently? | Document (MongoDB) |
|
|
99
|
+
| Sub-millisecond reads? | Key-Value (Redis) |
|
|
100
|
+
| Time-based queries? | Time-Series |
|
|
101
|
+
| Traversing relationships? | Graph (Neo4j) |
|
|
102
|
+
| Full-text search primary? | Elasticsearch |
|
|
@@ -1,112 +1,112 @@
|
|
|
1
|
-
# Non-Functional Requirements Checklist
|
|
2
|
-
|
|
3
|
-
## NFR Categories
|
|
4
|
-
|
|
5
|
-
### Scalability
|
|
6
|
-
|
|
7
|
-
| Question | Common Targets |
|
|
8
|
-
|----------|----------------|
|
|
9
|
-
| Expected concurrent users? | 100 / 1K / 10K / 100K |
|
|
10
|
-
| Requests per second? | 10 / 100 / 1000 / 10000 |
|
|
11
|
-
| Data volume? | GB / TB / PB |
|
|
12
|
-
| Growth rate? | 10% / 50% / 100% per year |
|
|
13
|
-
| Peak vs average load? | 2x / 5x / 10x |
|
|
14
|
-
|
|
15
|
-
### Performance
|
|
16
|
-
|
|
17
|
-
| Question | Common Targets |
|
|
18
|
-
|----------|----------------|
|
|
19
|
-
| API response time? | < 100ms / 200ms / 500ms p95 |
|
|
20
|
-
| Page load time? | < 1s / 2s / 3s |
|
|
21
|
-
| Database query time? | < 10ms / 50ms / 100ms |
|
|
22
|
-
| Batch processing throughput? | 1K / 10K / 100K records/hour |
|
|
23
|
-
|
|
24
|
-
### Availability
|
|
25
|
-
|
|
26
|
-
| Target | Downtime/Year | Use Case |
|
|
27
|
-
|--------|---------------|----------|
|
|
28
|
-
| 99% | 3.65 days | Internal tools |
|
|
29
|
-
| 99.9% | 8.76 hours | Business apps |
|
|
30
|
-
| 99.95% | 4.38 hours | E-commerce |
|
|
31
|
-
| 99.99% | 52.6 minutes | Financial systems |
|
|
32
|
-
| 99.999% | 5.26 minutes | Life-critical |
|
|
33
|
-
|
|
34
|
-
### Security
|
|
35
|
-
|
|
36
|
-
| Question | Considerations |
|
|
37
|
-
|----------|----------------|
|
|
38
|
-
| Authentication required? | JWT, OAuth, SAML, MFA |
|
|
39
|
-
| Authorization model? | RBAC, ABAC, ACL |
|
|
40
|
-
| Data sensitivity? | Public, internal, confidential, PII |
|
|
41
|
-
| Compliance requirements? | GDPR, HIPAA, PCI DSS, SOC 2 |
|
|
42
|
-
| Encryption needs? | At rest, in transit, end-to-end |
|
|
43
|
-
|
|
44
|
-
### Reliability
|
|
45
|
-
|
|
46
|
-
| Question | Considerations |
|
|
47
|
-
|----------|----------------|
|
|
48
|
-
| Acceptable data loss? | RPO: 0 / 1hr / 24hr |
|
|
49
|
-
| Recovery time target? | RTO: 1hr / 4hr / 24hr |
|
|
50
|
-
| Backup frequency? | Real-time / hourly / daily |
|
|
51
|
-
| Disaster recovery? | Single region / multi-region |
|
|
52
|
-
|
|
53
|
-
### Maintainability
|
|
54
|
-
|
|
55
|
-
| Question | Considerations |
|
|
56
|
-
|----------|----------------|
|
|
57
|
-
| Deployment frequency? | Daily / weekly / monthly |
|
|
58
|
-
| Deployment strategy? | Blue-green, canary, rolling |
|
|
59
|
-
| Monitoring requirements? | Logs, metrics, traces, alerts |
|
|
60
|
-
| On-call requirements? | 24/7, business hours |
|
|
61
|
-
|
|
62
|
-
### Cost
|
|
63
|
-
|
|
64
|
-
| Question | Considerations |
|
|
65
|
-
|----------|----------------|
|
|
66
|
-
| Infrastructure budget? | $/month, $/user, $/request |
|
|
67
|
-
| Operational budget? | FTE for maintenance |
|
|
68
|
-
| Cost optimization? | Reserved instances, spot instances |
|
|
69
|
-
| Cost alerts? | Thresholds for notification |
|
|
70
|
-
|
|
71
|
-
## Template
|
|
72
|
-
|
|
73
|
-
```markdown
|
|
74
|
-
## Non-Functional Requirements
|
|
75
|
-
|
|
76
|
-
### Performance
|
|
77
|
-
- API response time: < 200ms p95
|
|
78
|
-
- Page load time: < 2s
|
|
79
|
-
- Database query time: < 50ms
|
|
80
|
-
|
|
81
|
-
### Scalability
|
|
82
|
-
- Concurrent users: 10,000
|
|
83
|
-
- Requests per second: 1,000
|
|
84
|
-
- Data volume: 1TB
|
|
85
|
-
|
|
86
|
-
### Availability
|
|
87
|
-
- Target: 99.9% (8.76 hours/year downtime)
|
|
88
|
-
- RPO: 1 hour
|
|
89
|
-
- RTO: 4 hours
|
|
90
|
-
|
|
91
|
-
### Security
|
|
92
|
-
- Authentication: JWT with refresh tokens
|
|
93
|
-
- Authorization: Role-based (admin, user, guest)
|
|
94
|
-
- Compliance: GDPR, SOC 2
|
|
95
|
-
|
|
96
|
-
### Observability
|
|
97
|
-
- Logging: Structured JSON to ELK
|
|
98
|
-
- Metrics: Prometheus + Grafana
|
|
99
|
-
- Tracing: OpenTelemetry
|
|
100
|
-
- Alerts: PagerDuty integration
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## Quick Reference
|
|
104
|
-
|
|
105
|
-
| Category | Key Metric |
|
|
106
|
-
|----------|------------|
|
|
107
|
-
| Performance | Response time (p95) |
|
|
108
|
-
| Scalability | Concurrent users, RPS |
|
|
109
|
-
| Availability | Uptime percentage |
|
|
110
|
-
| Reliability | RPO, RTO |
|
|
111
|
-
| Security | Compliance requirements |
|
|
112
|
-
| Cost | $/month budget |
|
|
1
|
+
# Non-Functional Requirements Checklist
|
|
2
|
+
|
|
3
|
+
## NFR Categories
|
|
4
|
+
|
|
5
|
+
### Scalability
|
|
6
|
+
|
|
7
|
+
| Question | Common Targets |
|
|
8
|
+
|----------|----------------|
|
|
9
|
+
| Expected concurrent users? | 100 / 1K / 10K / 100K |
|
|
10
|
+
| Requests per second? | 10 / 100 / 1000 / 10000 |
|
|
11
|
+
| Data volume? | GB / TB / PB |
|
|
12
|
+
| Growth rate? | 10% / 50% / 100% per year |
|
|
13
|
+
| Peak vs average load? | 2x / 5x / 10x |
|
|
14
|
+
|
|
15
|
+
### Performance
|
|
16
|
+
|
|
17
|
+
| Question | Common Targets |
|
|
18
|
+
|----------|----------------|
|
|
19
|
+
| API response time? | < 100ms / 200ms / 500ms p95 |
|
|
20
|
+
| Page load time? | < 1s / 2s / 3s |
|
|
21
|
+
| Database query time? | < 10ms / 50ms / 100ms |
|
|
22
|
+
| Batch processing throughput? | 1K / 10K / 100K records/hour |
|
|
23
|
+
|
|
24
|
+
### Availability
|
|
25
|
+
|
|
26
|
+
| Target | Downtime/Year | Use Case |
|
|
27
|
+
|--------|---------------|----------|
|
|
28
|
+
| 99% | 3.65 days | Internal tools |
|
|
29
|
+
| 99.9% | 8.76 hours | Business apps |
|
|
30
|
+
| 99.95% | 4.38 hours | E-commerce |
|
|
31
|
+
| 99.99% | 52.6 minutes | Financial systems |
|
|
32
|
+
| 99.999% | 5.26 minutes | Life-critical |
|
|
33
|
+
|
|
34
|
+
### Security
|
|
35
|
+
|
|
36
|
+
| Question | Considerations |
|
|
37
|
+
|----------|----------------|
|
|
38
|
+
| Authentication required? | JWT, OAuth, SAML, MFA |
|
|
39
|
+
| Authorization model? | RBAC, ABAC, ACL |
|
|
40
|
+
| Data sensitivity? | Public, internal, confidential, PII |
|
|
41
|
+
| Compliance requirements? | GDPR, HIPAA, PCI DSS, SOC 2 |
|
|
42
|
+
| Encryption needs? | At rest, in transit, end-to-end |
|
|
43
|
+
|
|
44
|
+
### Reliability
|
|
45
|
+
|
|
46
|
+
| Question | Considerations |
|
|
47
|
+
|----------|----------------|
|
|
48
|
+
| Acceptable data loss? | RPO: 0 / 1hr / 24hr |
|
|
49
|
+
| Recovery time target? | RTO: 1hr / 4hr / 24hr |
|
|
50
|
+
| Backup frequency? | Real-time / hourly / daily |
|
|
51
|
+
| Disaster recovery? | Single region / multi-region |
|
|
52
|
+
|
|
53
|
+
### Maintainability
|
|
54
|
+
|
|
55
|
+
| Question | Considerations |
|
|
56
|
+
|----------|----------------|
|
|
57
|
+
| Deployment frequency? | Daily / weekly / monthly |
|
|
58
|
+
| Deployment strategy? | Blue-green, canary, rolling |
|
|
59
|
+
| Monitoring requirements? | Logs, metrics, traces, alerts |
|
|
60
|
+
| On-call requirements? | 24/7, business hours |
|
|
61
|
+
|
|
62
|
+
### Cost
|
|
63
|
+
|
|
64
|
+
| Question | Considerations |
|
|
65
|
+
|----------|----------------|
|
|
66
|
+
| Infrastructure budget? | $/month, $/user, $/request |
|
|
67
|
+
| Operational budget? | FTE for maintenance |
|
|
68
|
+
| Cost optimization? | Reserved instances, spot instances |
|
|
69
|
+
| Cost alerts? | Thresholds for notification |
|
|
70
|
+
|
|
71
|
+
## Template
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
## Non-Functional Requirements
|
|
75
|
+
|
|
76
|
+
### Performance
|
|
77
|
+
- API response time: < 200ms p95
|
|
78
|
+
- Page load time: < 2s
|
|
79
|
+
- Database query time: < 50ms
|
|
80
|
+
|
|
81
|
+
### Scalability
|
|
82
|
+
- Concurrent users: 10,000
|
|
83
|
+
- Requests per second: 1,000
|
|
84
|
+
- Data volume: 1TB
|
|
85
|
+
|
|
86
|
+
### Availability
|
|
87
|
+
- Target: 99.9% (8.76 hours/year downtime)
|
|
88
|
+
- RPO: 1 hour
|
|
89
|
+
- RTO: 4 hours
|
|
90
|
+
|
|
91
|
+
### Security
|
|
92
|
+
- Authentication: JWT with refresh tokens
|
|
93
|
+
- Authorization: Role-based (admin, user, guest)
|
|
94
|
+
- Compliance: GDPR, SOC 2
|
|
95
|
+
|
|
96
|
+
### Observability
|
|
97
|
+
- Logging: Structured JSON to ELK
|
|
98
|
+
- Metrics: Prometheus + Grafana
|
|
99
|
+
- Tracing: OpenTelemetry
|
|
100
|
+
- Alerts: PagerDuty integration
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Quick Reference
|
|
104
|
+
|
|
105
|
+
| Category | Key Metric |
|
|
106
|
+
|----------|------------|
|
|
107
|
+
| Performance | Response time (p95) |
|
|
108
|
+
| Scalability | Concurrent users, RPS |
|
|
109
|
+
| Availability | Uptime percentage |
|
|
110
|
+
| Reliability | RPO, RTO |
|
|
111
|
+
| Security | Compliance requirements |
|
|
112
|
+
| Cost | $/month budget |
|