@tinkcarlos/skillora 0.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/.claude/skills/.temp-skill-index.md +245 -0
- package/.claude/skills/SKILL.md +264 -0
- package/.claude/skills/api-scaffolding/SKILL.md +431 -0
- package/.claude/skills/api-scaffolding/agents/backend-architect.md +282 -0
- package/.claude/skills/api-scaffolding/agents/django-pro.md +144 -0
- package/.claude/skills/api-scaffolding/agents/fastapi-pro.md +156 -0
- package/.claude/skills/api-scaffolding/agents/graphql-architect.md +146 -0
- package/.claude/skills/api-scaffolding/skills/fastapi-templates/SKILL.md +171 -0
- package/.claude/skills/api-testing-observability/SKILL.md +583 -0
- package/.claude/skills/api-testing-observability/agents/api-documenter.md +146 -0
- package/.claude/skills/api-testing-observability/commands/api-mock.md +1320 -0
- package/.claude/skills/brainstorming/SKILL.md +283 -0
- package/.claude/skills/bug-fixing/SKILL.md +382 -0
- package/.claude/skills/bug-fixing/references/backend-guide.md +132 -0
- package/.claude/skills/bug-fixing/references/bug-guide.md +354 -0
- package/.claude/skills/bug-fixing/references/bug-record-template.md +134 -0
- package/.claude/skills/bug-fixing/references/bug-records.md +88 -0
- package/.claude/skills/bug-fixing/references/code-review-gate.md +81 -0
- package/.claude/skills/bug-fixing/references/common-bugs.md +140 -0
- package/.claude/skills/bug-fixing/references/complete-workflow.md +361 -0
- package/.claude/skills/bug-fixing/references/config-driven-fixes.md +136 -0
- package/.claude/skills/bug-fixing/references/context-isolation-protocol.md +268 -0
- package/.claude/skills/bug-fixing/references/cross-surface-regression.md +120 -0
- package/.claude/skills/bug-fixing/references/database-investigation.md +129 -0
- package/.claude/skills/bug-fixing/references/dependency-and-integrity-protocol.md +369 -0
- package/.claude/skills/bug-fixing/references/fix-completeness-checklist.md +239 -0
- package/.claude/skills/bug-fixing/references/frontend-guide.md +219 -0
- package/.claude/skills/bug-fixing/references/fullstack-joint-guide.md +123 -0
- package/.claude/skills/bug-fixing/references/functional-breakage.md +117 -0
- package/.claude/skills/bug-fixing/references/ide-lint-errors-guide.md +176 -0
- package/.claude/skills/bug-fixing/references/impact-analysis.md +511 -0
- package/.claude/skills/bug-fixing/references/investigation-checklist.md +263 -0
- package/.claude/skills/bug-fixing/references/knowledge-extraction-guide.md +531 -0
- package/.claude/skills/bug-fixing/references/knowledge-workflow.md +212 -0
- package/.claude/skills/bug-fixing/references/post-edit-quality-gate.md +30 -0
- package/.claude/skills/bug-fixing/references/python-env-and-testing.md +126 -0
- package/.claude/skills/bug-fixing/references/rca-guide.md +428 -0
- package/.claude/skills/bug-fixing/references/similar-bug-patterns.md +113 -0
- package/.claude/skills/bug-fixing/references/skill-delegation-guide.md +350 -0
- package/.claude/skills/bug-fixing/references/skill-orchestration.md +155 -0
- package/.claude/skills/bug-fixing/references/testing-strategy.md +350 -0
- package/.claude/skills/bug-fixing/references/tooling-build-scripts.md +162 -0
- package/.claude/skills/bug-fixing/references/user-input-validation.md +77 -0
- package/.claude/skills/bug-fixing/references/ux-patterns.md +158 -0
- package/.claude/skills/bug-fixing/references/windows-terminal-hygiene.md +106 -0
- package/.claude/skills/bug-fixing/references/zero-regression-matrix.md +239 -0
- package/.claude/skills/bug-fixing/references/zero-risk-protocol.md +102 -0
- package/.claude/skills/bug-fixing/scripts/format_code.py +611 -0
- package/.claude/skills/bug-fixing/scripts/generate_report_template.py +74 -0
- package/.claude/skills/bug-fixing/scripts/lint_check.py +816 -0
- package/.claude/skills/bug-fixing/scripts/requirements.txt +36 -0
- package/.claude/skills/cicd-pipeline/SKILL.md +300 -0
- package/.claude/skills/code-review/SKILL.md +535 -0
- package/.claude/skills/code-review/references/anti-pattern-scan.md +102 -0
- package/.claude/skills/code-review/references/automated-analysis.md +456 -0
- package/.claude/skills/code-review/references/backend-common-issues.md +589 -0
- package/.claude/skills/code-review/references/backend-expert-guide.md +415 -0
- package/.claude/skills/code-review/references/backend-review.md +868 -0
- package/.claude/skills/code-review/references/batch-processing-strategy.md +198 -0
- package/.claude/skills/code-review/references/call-chain-analysis-protocol.md +166 -0
- package/.claude/skills/code-review/references/common-patterns.md +321 -0
- package/.claude/skills/code-review/references/configuration-review.md +425 -0
- package/.claude/skills/code-review/references/control-flow-completeness.md +114 -0
- package/.claude/skills/code-review/references/database-review.md +298 -0
- package/.claude/skills/code-review/references/dependency-and-integrity-protocol.md +313 -0
- package/.claude/skills/code-review/references/external-standards.md +51 -0
- package/.claude/skills/code-review/references/feature-review.md +329 -0
- package/.claude/skills/code-review/references/file-review-template.md +326 -0
- package/.claude/skills/code-review/references/frontend-advanced.md +654 -0
- package/.claude/skills/code-review/references/frontend-common-issues.md +482 -0
- package/.claude/skills/code-review/references/frontend-expert-guide.md +342 -0
- package/.claude/skills/code-review/references/frontend-review.md +783 -0
- package/.claude/skills/code-review/references/fullstack-consistency.md +418 -0
- package/.claude/skills/code-review/references/fullstack-review.md +477 -0
- package/.claude/skills/code-review/references/functional-completeness.md +386 -0
- package/.claude/skills/code-review/references/hidden-bugs-detection.md +473 -0
- package/.claude/skills/code-review/references/ide-lint-errors-guide.md +173 -0
- package/.claude/skills/code-review/references/infrastructure-review.md +453 -0
- package/.claude/skills/code-review/references/iteration-review.md +264 -0
- package/.claude/skills/code-review/references/job-review.md +335 -0
- package/.claude/skills/code-review/references/layered-checklist-protocol.md +157 -0
- package/.claude/skills/code-review/references/logic-completeness.md +535 -0
- package/.claude/skills/code-review/references/mandatory-checklist.md +288 -0
- package/.claude/skills/code-review/references/multi-language-guide.md +800 -0
- package/.claude/skills/code-review/references/new-project-review.md +226 -0
- package/.claude/skills/code-review/references/non-code-files-review.md +451 -0
- package/.claude/skills/code-review/references/overlooked-issues.md +657 -0
- package/.claude/skills/code-review/references/platform-specific-review.md +195 -0
- package/.claude/skills/code-review/references/precision-analysis-protocol.md +260 -0
- package/.claude/skills/code-review/references/python-patterns.md +494 -0
- package/.claude/skills/code-review/references/rca-techniques.md +362 -0
- package/.claude/skills/code-review/references/report-template.md +430 -0
- package/.claude/skills/code-review/references/resource-limits-and-degradation.md +137 -0
- package/.claude/skills/code-review/references/review-dimensions.md +311 -0
- package/.claude/skills/code-review/references/review-guide.md +202 -0
- package/.claude/skills/code-review/references/review-knowledge-workflow.md +257 -0
- package/.claude/skills/code-review/references/review-progress-tracker-protocol.md +172 -0
- package/.claude/skills/code-review/references/review-record-template.md +195 -0
- package/.claude/skills/code-review/references/skill-orchestration.md +143 -0
- package/.claude/skills/code-review/references/ui-ux-review.md +470 -0
- package/.claude/skills/containerization/SKILL.md +313 -0
- package/.claude/skills/database-migrations/agents/database-admin.md +142 -0
- package/.claude/skills/database-migrations/agents/database-optimizer.md +144 -0
- package/.claude/skills/database-migrations/commands/migration-observability.md +408 -0
- package/.claude/skills/database-migrations/commands/sql-migrations.md +492 -0
- package/.claude/skills/finishing-a-development-branch/SKILL.md +319 -0
- package/.claude/skills/frontend-design/LICENSE.txt +177 -0
- package/.claude/skills/frontend-design/SKILL.md +587 -0
- package/.claude/skills/frontend-design/references/color-consistency.md +487 -0
- package/.claude/skills/frontend-design/references/color-palettes-full.md +657 -0
- package/.claude/skills/frontend-design/references/design-system-generator.md +285 -0
- package/.claude/skills/frontend-design/references/font-pairings-full.md +705 -0
- package/.claude/skills/frontend-design/references/industry-anti-patterns.md +281 -0
- package/.claude/skills/frontend-design/references/layout-anti-patterns.md +582 -0
- package/.claude/skills/frontend-design/references/motion-patterns.md +659 -0
- package/.claude/skills/frontend-design/references/pre-delivery-checklist.md +153 -0
- package/.claude/skills/frontend-design/references/responsive-design.md +555 -0
- package/.claude/skills/frontend-design/references/style-modification-rules.md +335 -0
- package/.claude/skills/frontend-design/references/ui-styles-full.md +383 -0
- package/.claude/skills/frontend-design/references/ui-styles-rating.md +191 -0
- package/.claude/skills/frontend-design/references/ux-guidelines.md +640 -0
- package/.claude/skills/fullstack-developer/SKILL.md +512 -0
- package/.claude/skills/fullstack-developer/references/api-contract-guide.md +312 -0
- package/.claude/skills/fullstack-developer/references/api-response-patterns.md +223 -0
- package/.claude/skills/fullstack-developer/references/async-patterns.md +220 -0
- package/.claude/skills/fullstack-developer/references/bug-prevention.md +914 -0
- package/.claude/skills/fullstack-developer/references/code-quality-checklist.md +271 -0
- package/.claude/skills/fullstack-developer/references/complete-development-workflow.md +278 -0
- package/.claude/skills/fullstack-developer/references/context-isolation-protocol.md +256 -0
- package/.claude/skills/fullstack-developer/references/database-migration.md +331 -0
- package/.claude/skills/fullstack-developer/references/dependency-and-integrity-protocol.md +390 -0
- package/.claude/skills/fullstack-developer/references/development-phases.md +333 -0
- package/.claude/skills/fullstack-developer/references/expert-guide.md +214 -0
- package/.claude/skills/fullstack-developer/references/file-import-patterns.md +114 -0
- package/.claude/skills/fullstack-developer/references/graceful-degradation-patterns.md +78 -0
- package/.claude/skills/fullstack-developer/references/ide-lint-errors-guide.md +183 -0
- package/.claude/skills/fullstack-developer/references/integration-testing.md +301 -0
- package/.claude/skills/fullstack-developer/references/mock-api-patterns.md +307 -0
- package/.claude/skills/fullstack-developer/references/phase-gate-template.md +249 -0
- package/.claude/skills/fullstack-developer/references/post-edit-quality-gate.md +30 -0
- package/.claude/skills/fullstack-developer/references/python-engineering.md +79 -0
- package/.claude/skills/fullstack-developer/references/skill-orchestration.md +214 -0
- package/.claude/skills/fullstack-developer/references/skill-router-table.md +304 -0
- package/.claude/skills/fullstack-developer/references/state-sync.md +217 -0
- package/.claude/skills/fullstack-developer/references/ui-testing-checklist.md +292 -0
- package/.claude/skills/fullstack-developer/scripts/format_code.py +611 -0
- package/.claude/skills/fullstack-developer/scripts/lint_check.py +816 -0
- package/.claude/skills/fullstack-developer/scripts/requirements.txt +36 -0
- package/.claude/skills/performance-optimization/SKILL.md +250 -0
- package/.claude/skills/product-requirements/SKILL.md +357 -0
- package/.claude/skills/product-requirements/references/acceptance-criteria.md +335 -0
- package/.claude/skills/product-requirements/references/answer-first-questioning-protocol.md +299 -0
- package/.claude/skills/product-requirements/references/competitive-analysis-guide.md +183 -0
- package/.claude/skills/product-requirements/references/document-accuracy-protocol.md +253 -0
- package/.claude/skills/product-requirements/references/document-management-protocol.md +278 -0
- package/.claude/skills/product-requirements/references/external-standards.md +62 -0
- package/.claude/skills/product-requirements/references/feature-spec-template.md +359 -0
- package/.claude/skills/product-requirements/references/knowledge-acquisition-protocol.md +251 -0
- package/.claude/skills/product-requirements/references/plan-execution-protocol.md +334 -0
- package/.claude/skills/product-requirements/references/plan-generation-protocol.md +264 -0
- package/.claude/skills/product-requirements/references/prioritization-frameworks.md +80 -0
- package/.claude/skills/product-requirements/references/requirement-decomposition-protocol.md +291 -0
- package/.claude/skills/product-requirements/references/user-story-examples.md +297 -0
- package/.claude/skills/product-requirements/references/workflow-templates.md +266 -0
- package/.claude/skills/react-best-practices/SKILL.md +198 -0
- package/.claude/skills/react-best-practices/references/advanced-patterns.md +94 -0
- package/.claude/skills/react-best-practices/references/bundle-optimization.md +182 -0
- package/.claude/skills/react-best-practices/references/client-data-fetching.md +112 -0
- package/.claude/skills/react-best-practices/references/complete-guide.md +2249 -0
- package/.claude/skills/react-best-practices/references/eliminating-waterfalls.md +169 -0
- package/.claude/skills/react-best-practices/references/javascript-performance.md +256 -0
- package/.claude/skills/react-best-practices/references/rendering-performance.md +230 -0
- package/.claude/skills/react-best-practices/references/rerender-optimization.md +214 -0
- package/.claude/skills/react-best-practices/references/server-performance.md +182 -0
- package/.claude/skills/security-audit/SKILL.md +226 -0
- package/.claude/skills/shared-references/advanced-debugging-techniques.md +186 -0
- package/.claude/skills/shared-references/code-quality-checklist.md +218 -0
- package/.claude/skills/shared-references/code-review-efficiency-guide.md +125 -0
- package/.claude/skills/shared-references/mcp-dependency-compatibility-protocol.md +276 -0
- package/.claude/skills/shared-references/skill-call-graph.md +230 -0
- package/.claude/skills/shared-references/skill-orchestration-protocol.md +281 -0
- package/.claude/skills/shared-references/subagent-dispatch-templates.md +199 -0
- package/.claude/skills/skill-expert-skills/LICENSE.txt +204 -0
- package/.claude/skills/skill-expert-skills/QUICK_NAVIGATION.md +374 -0
- package/.claude/skills/skill-expert-skills/SKILL.md +247 -0
- package/.claude/skills/skill-expert-skills/docs/_index.md +91 -0
- package/.claude/skills/skill-expert-skills/references/deep-research-methodology.md +389 -0
- package/.claude/skills/skill-expert-skills/references/docs-generation-workflow.md +398 -0
- package/.claude/skills/skill-expert-skills/references/domain-expertise-protocol.md +343 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/_index.md +54 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/backend-expertise.md +517 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/bug-fixing-expertise.md +363 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/code-review-expertise.md +392 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/frontend-expertise.md +410 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge-template.md +503 -0
- package/.claude/skills/skill-expert-skills/references/examples.md +782 -0
- package/.claude/skills/skill-expert-skills/references/integration-examples.md +655 -0
- package/.claude/skills/skill-expert-skills/references/knowledge-validation-checklist.md +246 -0
- package/.claude/skills/skill-expert-skills/references/latest-knowledge-acquisition.md +461 -0
- package/.claude/skills/skill-expert-skills/references/mcp-tools-guide.md +439 -0
- package/.claude/skills/skill-expert-skills/references/official-best-practices.md +616 -0
- package/.claude/skills/skill-expert-skills/references/patterns.md +218 -0
- package/.claude/skills/skill-expert-skills/references/plugin-skills-guide.md +432 -0
- package/.claude/skills/skill-expert-skills/references/requirement-elicitation-protocol.md +290 -0
- package/.claude/skills/skill-expert-skills/references/skill-creator-SKILL.md +353 -0
- package/.claude/skills/skill-expert-skills/references/skill-templates.md +583 -0
- package/.claude/skills/skill-expert-skills/references/skills-knowledge-base.md +561 -0
- package/.claude/skills/skill-expert-skills/references/tools-guide.md +379 -0
- package/.claude/skills/skill-expert-skills/references/troubleshooting.md +378 -0
- package/.claude/skills/skill-expert-skills/references/universality-guide.md +205 -0
- package/.claude/skills/skill-expert-skills/references/writing-style-guide.md +466 -0
- package/.claude/skills/skill-expert-skills/scripts/__pycache__/quick_validate.cpython-313.pyc +0 -0
- package/.claude/skills/skill-expert-skills/scripts/__pycache__/universal_validate.cpython-313.pyc +0 -0
- package/.claude/skills/skill-expert-skills/scripts/analyze_trigger.py +425 -0
- package/.claude/skills/skill-expert-skills/scripts/diff_with_official.py +188 -0
- package/.claude/skills/skill-expert-skills/scripts/init_skill.py +349 -0
- package/.claude/skills/skill-expert-skills/scripts/package_skill.py +156 -0
- package/.claude/skills/skill-expert-skills/scripts/quick_validate.py +493 -0
- package/.claude/skills/skill-expert-skills/scripts/requirements.txt +2 -0
- package/.claude/skills/skill-expert-skills/scripts/universal_validate.py +182 -0
- package/.claude/skills/skill-expert-skills/scripts/upgrade_skill.py +431 -0
- package/.claude/skills/subagent-driven-development/SKILL.md +268 -0
- package/.claude/skills/test-driven-development/SKILL.md +246 -0
- package/.claude/skills/test-driven-development/references/testing-anti-patterns.md +192 -0
- package/.claude/skills/using-git-worktrees/SKILL.md +266 -0
- package/.claude/skills/using-skillstack/SKILL.md +127 -0
- package/.claude/skills/vercel-deploy/SKILL.md +166 -0
- package/.claude/skills/vercel-deploy/scripts/deploy.sh +249 -0
- package/.claude/skills/verification-before-completion/SKILL.md +305 -0
- package/.claude/skills/writing-plans/SKILL.md +259 -0
- package/README.md +69 -0
- package/bin/cli.js +468 -0
- package/lib/init.js +333 -0
- package/package.json +29 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: graphql-architect
|
|
3
|
+
description: Master modern GraphQL with federation, performance optimization, and enterprise security. Build scalable schemas, implement advanced caching, and design real-time systems. Use PROACTIVELY for GraphQL architecture or performance optimization.
|
|
4
|
+
model: opus
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are an expert GraphQL architect specializing in enterprise-scale schema design, federation, performance optimization, and modern GraphQL development patterns.
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
Expert GraphQL architect focused on building scalable, performant, and secure GraphQL systems for enterprise applications. Masters modern federation patterns, advanced optimization techniques, and cutting-edge GraphQL tooling to deliver high-performance APIs that scale with business needs.
|
|
11
|
+
|
|
12
|
+
## Capabilities
|
|
13
|
+
|
|
14
|
+
### Modern GraphQL Federation and Architecture
|
|
15
|
+
- Apollo Federation v2 and Subgraph design patterns
|
|
16
|
+
- GraphQL Fusion and composite schema implementations
|
|
17
|
+
- Schema composition and gateway configuration
|
|
18
|
+
- Cross-team collaboration and schema evolution strategies
|
|
19
|
+
- Distributed GraphQL architecture patterns
|
|
20
|
+
- Microservices integration with GraphQL federation
|
|
21
|
+
- Schema registry and governance implementation
|
|
22
|
+
|
|
23
|
+
### Advanced Schema Design and Modeling
|
|
24
|
+
- Schema-first development with SDL and code generation
|
|
25
|
+
- Interface and union type design for flexible APIs
|
|
26
|
+
- Abstract types and polymorphic query patterns
|
|
27
|
+
- Relay specification compliance and connection patterns
|
|
28
|
+
- Schema versioning and evolution strategies
|
|
29
|
+
- Input validation and custom scalar types
|
|
30
|
+
- Schema documentation and annotation best practices
|
|
31
|
+
|
|
32
|
+
### Performance Optimization and Caching
|
|
33
|
+
- DataLoader pattern implementation for N+1 problem resolution
|
|
34
|
+
- Advanced caching strategies with Redis and CDN integration
|
|
35
|
+
- Query complexity analysis and depth limiting
|
|
36
|
+
- Automatic persisted queries (APQ) implementation
|
|
37
|
+
- Response caching at field and query levels
|
|
38
|
+
- Batch processing and request deduplication
|
|
39
|
+
- Performance monitoring and query analytics
|
|
40
|
+
|
|
41
|
+
### Security and Authorization
|
|
42
|
+
- Field-level authorization and access control
|
|
43
|
+
- JWT integration and token validation
|
|
44
|
+
- Role-based access control (RBAC) implementation
|
|
45
|
+
- Rate limiting and query cost analysis
|
|
46
|
+
- Introspection security and production hardening
|
|
47
|
+
- Input sanitization and injection prevention
|
|
48
|
+
- CORS configuration and security headers
|
|
49
|
+
|
|
50
|
+
### Real-Time Features and Subscriptions
|
|
51
|
+
- GraphQL subscriptions with WebSocket and Server-Sent Events
|
|
52
|
+
- Real-time data synchronization and live queries
|
|
53
|
+
- Event-driven architecture integration
|
|
54
|
+
- Subscription filtering and authorization
|
|
55
|
+
- Scalable subscription infrastructure design
|
|
56
|
+
- Live query implementation and optimization
|
|
57
|
+
- Real-time analytics and monitoring
|
|
58
|
+
|
|
59
|
+
### Developer Experience and Tooling
|
|
60
|
+
- GraphQL Playground and GraphiQL customization
|
|
61
|
+
- Code generation and type-safe client development
|
|
62
|
+
- Schema linting and validation automation
|
|
63
|
+
- Development server setup and hot reloading
|
|
64
|
+
- Testing strategies for GraphQL APIs
|
|
65
|
+
- Documentation generation and interactive exploration
|
|
66
|
+
- IDE integration and developer tooling
|
|
67
|
+
|
|
68
|
+
### Enterprise Integration Patterns
|
|
69
|
+
- REST API to GraphQL migration strategies
|
|
70
|
+
- Database integration with efficient query patterns
|
|
71
|
+
- Microservices orchestration through GraphQL
|
|
72
|
+
- Legacy system integration and data transformation
|
|
73
|
+
- Event sourcing and CQRS pattern implementation
|
|
74
|
+
- API gateway integration and hybrid approaches
|
|
75
|
+
- Third-party service integration and aggregation
|
|
76
|
+
|
|
77
|
+
### Modern GraphQL Tools and Frameworks
|
|
78
|
+
- Apollo Server, Apollo Federation, and Apollo Studio
|
|
79
|
+
- GraphQL Yoga, Pothos, and Nexus schema builders
|
|
80
|
+
- Prisma and TypeGraphQL integration
|
|
81
|
+
- Hasura and PostGraphile for database-first approaches
|
|
82
|
+
- GraphQL Code Generator and schema tooling
|
|
83
|
+
- Relay Modern and Apollo Client optimization
|
|
84
|
+
- GraphQL mesh for API aggregation
|
|
85
|
+
|
|
86
|
+
### Query Optimization and Analysis
|
|
87
|
+
- Query parsing and validation optimization
|
|
88
|
+
- Execution plan analysis and resolver tracing
|
|
89
|
+
- Automatic query optimization and field selection
|
|
90
|
+
- Query whitelisting and persisted query strategies
|
|
91
|
+
- Schema usage analytics and field deprecation
|
|
92
|
+
- Performance profiling and bottleneck identification
|
|
93
|
+
- Caching invalidation and dependency tracking
|
|
94
|
+
|
|
95
|
+
### Testing and Quality Assurance
|
|
96
|
+
- Unit testing for resolvers and schema validation
|
|
97
|
+
- Integration testing with test client frameworks
|
|
98
|
+
- Schema testing and breaking change detection
|
|
99
|
+
- Load testing and performance benchmarking
|
|
100
|
+
- Security testing and vulnerability assessment
|
|
101
|
+
- Contract testing between services
|
|
102
|
+
- Mutation testing for resolver logic
|
|
103
|
+
|
|
104
|
+
## Behavioral Traits
|
|
105
|
+
- Designs schemas with long-term evolution in mind
|
|
106
|
+
- Prioritizes developer experience and type safety
|
|
107
|
+
- Implements robust error handling and meaningful error messages
|
|
108
|
+
- Focuses on performance and scalability from the start
|
|
109
|
+
- Follows GraphQL best practices and specification compliance
|
|
110
|
+
- Considers caching implications in schema design decisions
|
|
111
|
+
- Implements comprehensive monitoring and observability
|
|
112
|
+
- Balances flexibility with performance constraints
|
|
113
|
+
- Advocates for schema governance and consistency
|
|
114
|
+
- Stays current with GraphQL ecosystem developments
|
|
115
|
+
|
|
116
|
+
## Knowledge Base
|
|
117
|
+
- GraphQL specification and best practices
|
|
118
|
+
- Modern federation patterns and tools
|
|
119
|
+
- Performance optimization techniques and caching strategies
|
|
120
|
+
- Security considerations and enterprise requirements
|
|
121
|
+
- Real-time systems and subscription architectures
|
|
122
|
+
- Database integration patterns and optimization
|
|
123
|
+
- Testing methodologies and quality assurance practices
|
|
124
|
+
- Developer tooling and ecosystem landscape
|
|
125
|
+
- Microservices architecture and API design patterns
|
|
126
|
+
- Cloud deployment and scaling strategies
|
|
127
|
+
|
|
128
|
+
## Response Approach
|
|
129
|
+
1. **Analyze business requirements** and data relationships
|
|
130
|
+
2. **Design scalable schema** with appropriate type system
|
|
131
|
+
3. **Implement efficient resolvers** with performance optimization
|
|
132
|
+
4. **Configure caching and security** for production readiness
|
|
133
|
+
5. **Set up monitoring and analytics** for operational insights
|
|
134
|
+
6. **Design federation strategy** for distributed teams
|
|
135
|
+
7. **Implement testing and validation** for quality assurance
|
|
136
|
+
8. **Plan for evolution** and backward compatibility
|
|
137
|
+
|
|
138
|
+
## Example Interactions
|
|
139
|
+
- "Design a federated GraphQL architecture for a multi-team e-commerce platform"
|
|
140
|
+
- "Optimize this GraphQL schema to eliminate N+1 queries and improve performance"
|
|
141
|
+
- "Implement real-time subscriptions for a collaborative application with proper authorization"
|
|
142
|
+
- "Create a migration strategy from REST to GraphQL with backward compatibility"
|
|
143
|
+
- "Build a GraphQL gateway that aggregates data from multiple microservices"
|
|
144
|
+
- "Design field-level caching strategy for a high-traffic GraphQL API"
|
|
145
|
+
- "Implement query complexity analysis and rate limiting for production safety"
|
|
146
|
+
- "Create a schema evolution strategy that supports multiple client versions"
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fastapi-templates
|
|
3
|
+
description: |
|
|
4
|
+
Create production-ready FastAPI projects with async patterns and best practices.
|
|
5
|
+
|
|
6
|
+
Use when:
|
|
7
|
+
- Starting new FastAPI projects from scratch
|
|
8
|
+
- Implementing async REST APIs with Python
|
|
9
|
+
- Building high-performance web services and microservices
|
|
10
|
+
- Creating async applications with PostgreSQL, MongoDB
|
|
11
|
+
- "create FastAPI project", "build API", "Python backend", "创建API项目"
|
|
12
|
+
|
|
13
|
+
Key Features:
|
|
14
|
+
- Async patterns with SQLAlchemy 2.0
|
|
15
|
+
- Repository + Service layer architecture
|
|
16
|
+
- JWT authentication with dependency injection
|
|
17
|
+
- Comprehensive testing setup
|
|
18
|
+
|
|
19
|
+
Not for: Django projects, Flask apps, synchronous-only APIs.
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# FastAPI Project Templates
|
|
23
|
+
|
|
24
|
+
Production-ready FastAPI project structures with async patterns, dependency injection, and best practices.
|
|
25
|
+
|
|
26
|
+
## When to Use
|
|
27
|
+
|
|
28
|
+
- Starting new FastAPI projects from scratch
|
|
29
|
+
- Implementing async REST APIs with Python
|
|
30
|
+
- Building high-performance web services
|
|
31
|
+
- Creating async applications with PostgreSQL, MongoDB
|
|
32
|
+
|
|
33
|
+
## Project Structure
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
app/
|
|
37
|
+
├── api/ # API routes
|
|
38
|
+
│ ├── v1/
|
|
39
|
+
│ │ ├── endpoints/
|
|
40
|
+
│ │ │ ├── users.py
|
|
41
|
+
│ │ │ ├── auth.py
|
|
42
|
+
│ │ │ └── items.py
|
|
43
|
+
│ │ └── router.py
|
|
44
|
+
│ └── dependencies.py # Shared dependencies
|
|
45
|
+
├── core/ # Core configuration
|
|
46
|
+
│ ├── config.py
|
|
47
|
+
│ ├── security.py
|
|
48
|
+
│ └── database.py
|
|
49
|
+
├── models/ # Database models
|
|
50
|
+
├── schemas/ # Pydantic schemas
|
|
51
|
+
├── services/ # Business logic
|
|
52
|
+
├── repositories/ # Data access
|
|
53
|
+
└── main.py # Application entry
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Core Concepts
|
|
57
|
+
|
|
58
|
+
### 1. Dependency Injection
|
|
59
|
+
|
|
60
|
+
FastAPI's built-in DI system using `Depends`:
|
|
61
|
+
- Database session management
|
|
62
|
+
- Authentication/authorization
|
|
63
|
+
- Shared business logic
|
|
64
|
+
- Configuration injection
|
|
65
|
+
|
|
66
|
+
### 2. Async Patterns
|
|
67
|
+
|
|
68
|
+
Proper async/await usage:
|
|
69
|
+
- Async route handlers
|
|
70
|
+
- Async database operations (SQLAlchemy 2.0)
|
|
71
|
+
- Async background tasks
|
|
72
|
+
- Async middleware
|
|
73
|
+
|
|
74
|
+
### 3. Architecture Layers
|
|
75
|
+
|
|
76
|
+
| Layer | Responsibility |
|
|
77
|
+
|-------|----------------|
|
|
78
|
+
| **Routes** | HTTP handling, validation |
|
|
79
|
+
| **Services** | Business logic |
|
|
80
|
+
| **Repositories** | Data access |
|
|
81
|
+
| **Models** | Database entities |
|
|
82
|
+
| **Schemas** | Request/Response DTOs |
|
|
83
|
+
|
|
84
|
+
## Quick Start Patterns
|
|
85
|
+
|
|
86
|
+
### Application Setup
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
from fastapi import FastAPI
|
|
90
|
+
from contextlib import asynccontextmanager
|
|
91
|
+
|
|
92
|
+
@asynccontextmanager
|
|
93
|
+
async def lifespan(app: FastAPI):
|
|
94
|
+
await database.connect()
|
|
95
|
+
yield
|
|
96
|
+
await database.disconnect()
|
|
97
|
+
|
|
98
|
+
app = FastAPI(title="API", version="1.0.0", lifespan=lifespan)
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Database Session Dependency
|
|
102
|
+
|
|
103
|
+
```python
|
|
104
|
+
async def get_db() -> AsyncSession:
|
|
105
|
+
async with AsyncSessionLocal() as session:
|
|
106
|
+
try:
|
|
107
|
+
yield session
|
|
108
|
+
await session.commit()
|
|
109
|
+
except Exception:
|
|
110
|
+
await session.rollback()
|
|
111
|
+
raise
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Authentication Dependency
|
|
115
|
+
|
|
116
|
+
```python
|
|
117
|
+
async def get_current_user(
|
|
118
|
+
db: AsyncSession = Depends(get_db),
|
|
119
|
+
token: str = Depends(oauth2_scheme)
|
|
120
|
+
):
|
|
121
|
+
# Decode JWT, fetch user
|
|
122
|
+
return user
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
→ Full implementation patterns: `references/fastapi-patterns.md`
|
|
126
|
+
|
|
127
|
+
## Best Practices
|
|
128
|
+
|
|
129
|
+
1. **Async All The Way**: Use async for database, external APIs
|
|
130
|
+
2. **Dependency Injection**: Leverage FastAPI's DI system
|
|
131
|
+
3. **Repository Pattern**: Separate data access from business logic
|
|
132
|
+
4. **Service Layer**: Keep business logic out of routes
|
|
133
|
+
5. **Pydantic Schemas**: Strong typing for request/response
|
|
134
|
+
6. **Error Handling**: Consistent error responses
|
|
135
|
+
7. **Testing**: Test all layers independently
|
|
136
|
+
|
|
137
|
+
## Common Pitfalls
|
|
138
|
+
|
|
139
|
+
| Pitfall | Solution |
|
|
140
|
+
|---------|----------|
|
|
141
|
+
| Blocking Code in Async | Use async database drivers |
|
|
142
|
+
| No Service Layer | Extract business logic from routes |
|
|
143
|
+
| Missing Type Hints | Add Pydantic schemas everywhere |
|
|
144
|
+
| Ignoring Sessions | Properly manage database sessions |
|
|
145
|
+
| Tight Coupling | Use dependency injection |
|
|
146
|
+
|
|
147
|
+
## Testing Setup
|
|
148
|
+
|
|
149
|
+
```python
|
|
150
|
+
@pytest.fixture
|
|
151
|
+
async def client(db_session):
|
|
152
|
+
async def override_get_db():
|
|
153
|
+
yield db_session
|
|
154
|
+
app.dependency_overrides[get_db] = override_get_db
|
|
155
|
+
async with AsyncClient(app=app, base_url="http://test") as client:
|
|
156
|
+
yield client
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
→ Full testing guide: `references/testing-strategies.md`
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## References
|
|
164
|
+
|
|
165
|
+
| File | Content |
|
|
166
|
+
|------|---------|
|
|
167
|
+
| `references/fastapi-patterns.md` | Complete implementation patterns |
|
|
168
|
+
| `references/async-best-practices.md` | Async/await patterns |
|
|
169
|
+
| `references/testing-strategies.md` | Comprehensive testing guide |
|
|
170
|
+
| `assets/project-template/` | Complete FastAPI project |
|
|
171
|
+
| `assets/docker-compose.yml` | Development environment setup |
|