@ruyfranca/myskills 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/workflows/artifacts-builder.md +10 -0
- package/.agent/workflows/brainstorm.md +10 -0
- package/.agent/workflows/business-analyst.md +9 -0
- package/.agent/workflows/canvas-design.md +10 -0
- package/.agent/workflows/code-reviewer.md +10 -0
- package/.agent/workflows/debugging.md +10 -0
- package/.agent/workflows/email-composer.md +10 -0
- package/.agent/workflows/file-organizer.md +10 -0
- package/.agent/workflows/pdf-pro.md +10 -0
- package/.agent/workflows/pptx.md +10 -0
- package/.agent/workflows/product-manager.md +9 -0
- package/.agent/workflows/prompt-engineer.md +10 -0
- package/.agent/workflows/security.md +10 -0
- package/.agent/workflows/senior-devops.md +10 -0
- package/.agent/workflows/senior-frontend.md +10 -0
- package/.agent/workflows/senior-fullstack.md +10 -0
- package/.agent/workflows/seo.md +10 -0
- package/.agent/workflows/tdd.md +10 -0
- package/.agent/workflows/theme-factory.md +10 -0
- package/.agent/workflows/ui-design-system.md +10 -0
- package/.agent/workflows/ui-pro-max.md +11 -0
- package/.agent/workflows/ux-researcher-designer.md +10 -0
- package/.agent/workflows/xlsx.md +10 -0
- package/README.md +177 -0
- package/docs/artifacts-builder/SKILL.md +38 -0
- package/docs/artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/docs/artifacts-builder/scripts/init-artifact.sh +322 -0
- package/docs/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/docs/brainstorming/SKILL.md +41 -0
- package/docs/business-analyst/SKILL.md +287 -0
- package/docs/canvas-design/SKILL.md +31 -0
- package/docs/canvas-design/fonts/ArsenalSC-OFL.txt +93 -0
- package/docs/canvas-design/fonts/ArsenalSC-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/BigShoulders-Bold.ttf +0 -0
- package/docs/canvas-design/fonts/BigShoulders-OFL.txt +93 -0
- package/docs/canvas-design/fonts/BigShoulders-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/Boldonse-OFL.txt +93 -0
- package/docs/canvas-design/fonts/Boldonse-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/docs/canvas-design/fonts/BricolageGrotesque-OFL.txt +93 -0
- package/docs/canvas-design/fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/CrimsonPro-Bold.ttf +0 -0
- package/docs/canvas-design/fonts/CrimsonPro-Italic.ttf +0 -0
- package/docs/canvas-design/fonts/CrimsonPro-OFL.txt +93 -0
- package/docs/canvas-design/fonts/CrimsonPro-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/DMMono-OFL.txt +93 -0
- package/docs/canvas-design/fonts/DMMono-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/EricaOne-OFL.txt +94 -0
- package/docs/canvas-design/fonts/EricaOne-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/GeistMono-Bold.ttf +0 -0
- package/docs/canvas-design/fonts/GeistMono-OFL.txt +93 -0
- package/docs/canvas-design/fonts/GeistMono-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/Gloock-OFL.txt +93 -0
- package/docs/canvas-design/fonts/Gloock-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/IBMPlexMono-Bold.ttf +0 -0
- package/docs/canvas-design/fonts/IBMPlexMono-OFL.txt +93 -0
- package/docs/canvas-design/fonts/IBMPlexMono-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/docs/canvas-design/fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/docs/canvas-design/fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/docs/canvas-design/fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/InstrumentSans-Bold.ttf +0 -0
- package/docs/canvas-design/fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/docs/canvas-design/fonts/InstrumentSans-Italic.ttf +0 -0
- package/docs/canvas-design/fonts/InstrumentSans-OFL.txt +93 -0
- package/docs/canvas-design/fonts/InstrumentSans-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/InstrumentSerif-Italic.ttf +0 -0
- package/docs/canvas-design/fonts/InstrumentSerif-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/Italiana-OFL.txt +93 -0
- package/docs/canvas-design/fonts/Italiana-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/JetBrainsMono-Bold.ttf +0 -0
- package/docs/canvas-design/fonts/JetBrainsMono-OFL.txt +93 -0
- package/docs/canvas-design/fonts/JetBrainsMono-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/Jura-Light.ttf +0 -0
- package/docs/canvas-design/fonts/Jura-Medium.ttf +0 -0
- package/docs/canvas-design/fonts/Jura-OFL.txt +93 -0
- package/docs/canvas-design/fonts/LibreBaskerville-OFL.txt +93 -0
- package/docs/canvas-design/fonts/LibreBaskerville-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/Lora-Bold.ttf +0 -0
- package/docs/canvas-design/fonts/Lora-BoldItalic.ttf +0 -0
- package/docs/canvas-design/fonts/Lora-Italic.ttf +0 -0
- package/docs/canvas-design/fonts/Lora-OFL.txt +93 -0
- package/docs/canvas-design/fonts/Lora-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/NationalPark-Bold.ttf +0 -0
- package/docs/canvas-design/fonts/NationalPark-OFL.txt +93 -0
- package/docs/canvas-design/fonts/NationalPark-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/docs/canvas-design/fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/Outfit-Bold.ttf +0 -0
- package/docs/canvas-design/fonts/Outfit-OFL.txt +93 -0
- package/docs/canvas-design/fonts/Outfit-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/PixelifySans-Medium.ttf +0 -0
- package/docs/canvas-design/fonts/PixelifySans-OFL.txt +93 -0
- package/docs/canvas-design/fonts/PoiretOne-OFL.txt +93 -0
- package/docs/canvas-design/fonts/PoiretOne-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/RedHatMono-Bold.ttf +0 -0
- package/docs/canvas-design/fonts/RedHatMono-OFL.txt +93 -0
- package/docs/canvas-design/fonts/RedHatMono-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/Silkscreen-OFL.txt +93 -0
- package/docs/canvas-design/fonts/Silkscreen-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/SmoochSans-Medium.ttf +0 -0
- package/docs/canvas-design/fonts/SmoochSans-OFL.txt +93 -0
- package/docs/canvas-design/fonts/Tektur-Medium.ttf +0 -0
- package/docs/canvas-design/fonts/Tektur-OFL.txt +93 -0
- package/docs/canvas-design/fonts/Tektur-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/WorkSans-Bold.ttf +0 -0
- package/docs/canvas-design/fonts/WorkSans-BoldItalic.ttf +0 -0
- package/docs/canvas-design/fonts/WorkSans-Italic.ttf +0 -0
- package/docs/canvas-design/fonts/WorkSans-OFL.txt +93 -0
- package/docs/canvas-design/fonts/WorkSans-Regular.ttf +0 -0
- package/docs/canvas-design/fonts/YoungSerif-OFL.txt +93 -0
- package/docs/canvas-design/fonts/YoungSerif-Regular.ttf +0 -0
- package/docs/code-reviewer/SKILL.md +42 -0
- package/docs/code-reviewer/references/code_review_checklist.md +103 -0
- package/docs/code-reviewer/references/coding_standards.md +103 -0
- package/docs/code-reviewer/references/common_antipatterns.md +103 -0
- package/docs/code-reviewer/scripts/code_quality_checker.py +114 -0
- package/docs/code-reviewer/scripts/pr_analyzer.py +114 -0
- package/docs/code-reviewer/scripts/review_report_generator.py +114 -0
- package/docs/email-composer/SKILL.md +36 -0
- package/docs/file-organizer/SKILL.md +41 -0
- package/docs/pdf-processing-pro/FORMS.md +610 -0
- package/docs/pdf-processing-pro/OCR.md +137 -0
- package/docs/pdf-processing-pro/SKILL.md +31 -0
- package/docs/pdf-processing-pro/TABLES.md +626 -0
- package/docs/pdf-processing-pro/scripts/analyze_form.py +307 -0
- package/docs/pptx/SKILL.md +35 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/docs/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/docs/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/docs/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/docs/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/docs/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/docs/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/docs/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/docs/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/docs/pptx/ooxml/scripts/pack.py +159 -0
- package/docs/pptx/ooxml/scripts/unpack.py +29 -0
- package/docs/pptx/ooxml/scripts/validate.py +69 -0
- package/docs/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/docs/pptx/ooxml/scripts/validation/base.py +951 -0
- package/docs/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/docs/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/docs/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/docs/pptx/scripts/html2pptx.js +979 -0
- package/docs/pptx/scripts/inventory.py +1020 -0
- package/docs/pptx/scripts/rearrange.py +231 -0
- package/docs/pptx/scripts/replace.py +385 -0
- package/docs/pptx/scripts/thumbnail.py +450 -0
- package/docs/product-manager/SKILL.md +69 -0
- package/docs/senior-devops/SKILL.md +33 -0
- package/docs/senior-devops/references/cicd_pipeline_guide.md +103 -0
- package/docs/senior-devops/references/deployment_strategies.md +103 -0
- package/docs/senior-devops/references/infrastructure_as_code.md +103 -0
- package/docs/senior-devops/scripts/deployment_manager.py +114 -0
- package/docs/senior-devops/scripts/pipeline_generator.py +114 -0
- package/docs/senior-devops/scripts/terraform_scaffolder.py +114 -0
- package/docs/senior-frontend/SKILL.md +51 -0
- package/docs/senior-frontend/references/frontend_best_practices.md +103 -0
- package/docs/senior-frontend/references/nextjs_optimization_guide.md +103 -0
- package/docs/senior-frontend/references/react_patterns.md +103 -0
- package/docs/senior-frontend/scripts/bundle_analyzer.py +114 -0
- package/docs/senior-frontend/scripts/component_generator.py +114 -0
- package/docs/senior-frontend/scripts/frontend_scaffolder.py +114 -0
- package/docs/senior-fullstack/SKILL.md +50 -0
- package/docs/senior-fullstack/references/architecture_patterns.md +103 -0
- package/docs/senior-fullstack/references/development_workflows.md +103 -0
- package/docs/senior-fullstack/references/tech_stack_guide.md +103 -0
- package/docs/senior-fullstack/scripts/code_quality_analyzer.py +114 -0
- package/docs/senior-fullstack/scripts/fullstack_scaffolder.py +114 -0
- package/docs/senior-fullstack/scripts/project_scaffolder.py +114 -0
- package/docs/senior-prompt-engineer/SKILL.md +42 -0
- package/docs/senior-prompt-engineer/references/agentic_system_design.md +80 -0
- package/docs/senior-prompt-engineer/references/llm_evaluation_frameworks.md +80 -0
- package/docs/senior-prompt-engineer/references/prompt_engineering_patterns.md +80 -0
- package/docs/senior-prompt-engineer/scripts/agent_orchestrator.py +100 -0
- package/docs/senior-prompt-engineer/scripts/prompt_optimizer.py +100 -0
- package/docs/senior-prompt-engineer/scripts/rag_evaluator.py +100 -0
- package/docs/senior-security/SKILL.md +39 -0
- package/docs/senior-security/references/cryptography_implementation.md +103 -0
- package/docs/senior-security/references/penetration_testing_guide.md +103 -0
- package/docs/senior-security/references/security_architecture_patterns.md +103 -0
- package/docs/seo-optimizer/SKILL.md +41 -0
- package/docs/systematic-debugging/CREATION-LOG.md +119 -0
- package/docs/systematic-debugging/SKILL.md +38 -0
- package/docs/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/docs/systematic-debugging/condition-based-waiting.md +115 -0
- package/docs/systematic-debugging/defense-in-depth.md +122 -0
- package/docs/systematic-debugging/find-polluter.sh +63 -0
- package/docs/systematic-debugging/root-cause-tracing.md +169 -0
- package/docs/systematic-debugging/test-academic.md +14 -0
- package/docs/systematic-debugging/test-pressure-1.md +58 -0
- package/docs/systematic-debugging/test-pressure-2.md +68 -0
- package/docs/systematic-debugging/test-pressure-3.md +69 -0
- package/docs/test-driven-development/SKILL.md +33 -0
- package/docs/test-driven-development/testing-anti-patterns.md +299 -0
- package/docs/theme-factory/SKILL.md +34 -0
- package/docs/theme-factory/theme-showcase.pdf +0 -0
- package/docs/theme-factory/themes/arctic-frost.md +19 -0
- package/docs/theme-factory/themes/botanical-garden.md +19 -0
- package/docs/theme-factory/themes/desert-rose.md +19 -0
- package/docs/theme-factory/themes/forest-canopy.md +19 -0
- package/docs/theme-factory/themes/golden-hour.md +19 -0
- package/docs/theme-factory/themes/midnight-galaxy.md +19 -0
- package/docs/theme-factory/themes/modern-minimalist.md +19 -0
- package/docs/theme-factory/themes/ocean-depths.md +19 -0
- package/docs/theme-factory/themes/sunset-boulevard.md +19 -0
- package/docs/theme-factory/themes/tech-innovation.md +19 -0
- package/docs/ui-design-system/SKILL.md +48 -0
- package/docs/ui-design-system/scripts/design_token_generator.py +529 -0
- package/docs/ui-ux-pro-max/SKILL.md +34 -0
- package/docs/ui-ux-pro-max/data/charts.csv +26 -0
- package/docs/ui-ux-pro-max/data/colors.csv +97 -0
- package/docs/ui-ux-pro-max/data/icons.csv +101 -0
- package/docs/ui-ux-pro-max/data/landing.csv +31 -0
- package/docs/ui-ux-pro-max/data/products.csv +97 -0
- package/docs/ui-ux-pro-max/data/prompts.csv +24 -0
- package/docs/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/docs/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/docs/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/docs/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/docs/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/docs/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/docs/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/docs/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/docs/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/docs/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/docs/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/docs/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/docs/ui-ux-pro-max/data/styles.csv +59 -0
- package/docs/ui-ux-pro-max/data/typography.csv +58 -0
- package/docs/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/docs/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/docs/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/docs/ui-ux-pro-max/scripts/core.py +257 -0
- package/docs/ui-ux-pro-max/scripts/design_system.py +487 -0
- package/docs/ui-ux-pro-max/scripts/search.py +76 -0
- package/docs/ux-researcher-designer/SKILL.md +23 -0
- package/docs/ux-researcher-designer/scripts/persona_generator.py +508 -0
- package/docs/xlsx/SKILL.md +34 -0
- package/docs/xlsx/scripts/recalc.py +178 -0
- package/index.js +72 -0
- package/package.json +27 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Nextjs Optimization Guide
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This reference guide provides comprehensive information for senior frontend.
|
|
6
|
+
|
|
7
|
+
## Patterns and Practices
|
|
8
|
+
|
|
9
|
+
### Pattern 1: Best Practice Implementation
|
|
10
|
+
|
|
11
|
+
**Description:**
|
|
12
|
+
Detailed explanation of the pattern.
|
|
13
|
+
|
|
14
|
+
**When to Use:**
|
|
15
|
+
- Scenario 1
|
|
16
|
+
- Scenario 2
|
|
17
|
+
- Scenario 3
|
|
18
|
+
|
|
19
|
+
**Implementation:**
|
|
20
|
+
```typescript
|
|
21
|
+
// Example code implementation
|
|
22
|
+
export class Example {
|
|
23
|
+
// Implementation details
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Benefits:**
|
|
28
|
+
- Benefit 1
|
|
29
|
+
- Benefit 2
|
|
30
|
+
- Benefit 3
|
|
31
|
+
|
|
32
|
+
**Trade-offs:**
|
|
33
|
+
- Consider 1
|
|
34
|
+
- Consider 2
|
|
35
|
+
- Consider 3
|
|
36
|
+
|
|
37
|
+
### Pattern 2: Advanced Technique
|
|
38
|
+
|
|
39
|
+
**Description:**
|
|
40
|
+
Another important pattern for senior frontend.
|
|
41
|
+
|
|
42
|
+
**Implementation:**
|
|
43
|
+
```typescript
|
|
44
|
+
// Advanced example
|
|
45
|
+
async function advancedExample() {
|
|
46
|
+
// Code here
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Guidelines
|
|
51
|
+
|
|
52
|
+
### Code Organization
|
|
53
|
+
- Clear structure
|
|
54
|
+
- Logical separation
|
|
55
|
+
- Consistent naming
|
|
56
|
+
- Proper documentation
|
|
57
|
+
|
|
58
|
+
### Performance Considerations
|
|
59
|
+
- Optimization strategies
|
|
60
|
+
- Bottleneck identification
|
|
61
|
+
- Monitoring approaches
|
|
62
|
+
- Scaling techniques
|
|
63
|
+
|
|
64
|
+
### Security Best Practices
|
|
65
|
+
- Input validation
|
|
66
|
+
- Authentication
|
|
67
|
+
- Authorization
|
|
68
|
+
- Data protection
|
|
69
|
+
|
|
70
|
+
## Common Patterns
|
|
71
|
+
|
|
72
|
+
### Pattern A
|
|
73
|
+
Implementation details and examples.
|
|
74
|
+
|
|
75
|
+
### Pattern B
|
|
76
|
+
Implementation details and examples.
|
|
77
|
+
|
|
78
|
+
### Pattern C
|
|
79
|
+
Implementation details and examples.
|
|
80
|
+
|
|
81
|
+
## Anti-Patterns to Avoid
|
|
82
|
+
|
|
83
|
+
### Anti-Pattern 1
|
|
84
|
+
What not to do and why.
|
|
85
|
+
|
|
86
|
+
### Anti-Pattern 2
|
|
87
|
+
What not to do and why.
|
|
88
|
+
|
|
89
|
+
## Tools and Resources
|
|
90
|
+
|
|
91
|
+
### Recommended Tools
|
|
92
|
+
- Tool 1: Purpose
|
|
93
|
+
- Tool 2: Purpose
|
|
94
|
+
- Tool 3: Purpose
|
|
95
|
+
|
|
96
|
+
### Further Reading
|
|
97
|
+
- Resource 1
|
|
98
|
+
- Resource 2
|
|
99
|
+
- Resource 3
|
|
100
|
+
|
|
101
|
+
## Conclusion
|
|
102
|
+
|
|
103
|
+
Key takeaways for using this reference guide effectively.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# React Patterns
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This reference guide provides comprehensive information for senior frontend.
|
|
6
|
+
|
|
7
|
+
## Patterns and Practices
|
|
8
|
+
|
|
9
|
+
### Pattern 1: Best Practice Implementation
|
|
10
|
+
|
|
11
|
+
**Description:**
|
|
12
|
+
Detailed explanation of the pattern.
|
|
13
|
+
|
|
14
|
+
**When to Use:**
|
|
15
|
+
- Scenario 1
|
|
16
|
+
- Scenario 2
|
|
17
|
+
- Scenario 3
|
|
18
|
+
|
|
19
|
+
**Implementation:**
|
|
20
|
+
```typescript
|
|
21
|
+
// Example code implementation
|
|
22
|
+
export class Example {
|
|
23
|
+
// Implementation details
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Benefits:**
|
|
28
|
+
- Benefit 1
|
|
29
|
+
- Benefit 2
|
|
30
|
+
- Benefit 3
|
|
31
|
+
|
|
32
|
+
**Trade-offs:**
|
|
33
|
+
- Consider 1
|
|
34
|
+
- Consider 2
|
|
35
|
+
- Consider 3
|
|
36
|
+
|
|
37
|
+
### Pattern 2: Advanced Technique
|
|
38
|
+
|
|
39
|
+
**Description:**
|
|
40
|
+
Another important pattern for senior frontend.
|
|
41
|
+
|
|
42
|
+
**Implementation:**
|
|
43
|
+
```typescript
|
|
44
|
+
// Advanced example
|
|
45
|
+
async function advancedExample() {
|
|
46
|
+
// Code here
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Guidelines
|
|
51
|
+
|
|
52
|
+
### Code Organization
|
|
53
|
+
- Clear structure
|
|
54
|
+
- Logical separation
|
|
55
|
+
- Consistent naming
|
|
56
|
+
- Proper documentation
|
|
57
|
+
|
|
58
|
+
### Performance Considerations
|
|
59
|
+
- Optimization strategies
|
|
60
|
+
- Bottleneck identification
|
|
61
|
+
- Monitoring approaches
|
|
62
|
+
- Scaling techniques
|
|
63
|
+
|
|
64
|
+
### Security Best Practices
|
|
65
|
+
- Input validation
|
|
66
|
+
- Authentication
|
|
67
|
+
- Authorization
|
|
68
|
+
- Data protection
|
|
69
|
+
|
|
70
|
+
## Common Patterns
|
|
71
|
+
|
|
72
|
+
### Pattern A
|
|
73
|
+
Implementation details and examples.
|
|
74
|
+
|
|
75
|
+
### Pattern B
|
|
76
|
+
Implementation details and examples.
|
|
77
|
+
|
|
78
|
+
### Pattern C
|
|
79
|
+
Implementation details and examples.
|
|
80
|
+
|
|
81
|
+
## Anti-Patterns to Avoid
|
|
82
|
+
|
|
83
|
+
### Anti-Pattern 1
|
|
84
|
+
What not to do and why.
|
|
85
|
+
|
|
86
|
+
### Anti-Pattern 2
|
|
87
|
+
What not to do and why.
|
|
88
|
+
|
|
89
|
+
## Tools and Resources
|
|
90
|
+
|
|
91
|
+
### Recommended Tools
|
|
92
|
+
- Tool 1: Purpose
|
|
93
|
+
- Tool 2: Purpose
|
|
94
|
+
- Tool 3: Purpose
|
|
95
|
+
|
|
96
|
+
### Further Reading
|
|
97
|
+
- Resource 1
|
|
98
|
+
- Resource 2
|
|
99
|
+
- Resource 3
|
|
100
|
+
|
|
101
|
+
## Conclusion
|
|
102
|
+
|
|
103
|
+
Key takeaways for using this reference guide effectively.
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Bundle Analyzer
|
|
4
|
+
Automated tool for senior frontend tasks
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
import json
|
|
10
|
+
import argparse
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
from typing import Dict, List, Optional
|
|
13
|
+
|
|
14
|
+
class BundleAnalyzer:
|
|
15
|
+
"""Main class for bundle analyzer functionality"""
|
|
16
|
+
|
|
17
|
+
def __init__(self, target_path: str, verbose: bool = False):
|
|
18
|
+
self.target_path = Path(target_path)
|
|
19
|
+
self.verbose = verbose
|
|
20
|
+
self.results = {}
|
|
21
|
+
|
|
22
|
+
def run(self) -> Dict:
|
|
23
|
+
"""Execute the main functionality"""
|
|
24
|
+
print(f"🚀 Running {self.__class__.__name__}...")
|
|
25
|
+
print(f"📁 Target: {self.target_path}")
|
|
26
|
+
|
|
27
|
+
try:
|
|
28
|
+
self.validate_target()
|
|
29
|
+
self.analyze()
|
|
30
|
+
self.generate_report()
|
|
31
|
+
|
|
32
|
+
print("✅ Completed successfully!")
|
|
33
|
+
return self.results
|
|
34
|
+
|
|
35
|
+
except Exception as e:
|
|
36
|
+
print(f"❌ Error: {e}")
|
|
37
|
+
sys.exit(1)
|
|
38
|
+
|
|
39
|
+
def validate_target(self):
|
|
40
|
+
"""Validate the target path exists and is accessible"""
|
|
41
|
+
if not self.target_path.exists():
|
|
42
|
+
raise ValueError(f"Target path does not exist: {self.target_path}")
|
|
43
|
+
|
|
44
|
+
if self.verbose:
|
|
45
|
+
print(f"✓ Target validated: {self.target_path}")
|
|
46
|
+
|
|
47
|
+
def analyze(self):
|
|
48
|
+
"""Perform the main analysis or operation"""
|
|
49
|
+
if self.verbose:
|
|
50
|
+
print("📊 Analyzing...")
|
|
51
|
+
|
|
52
|
+
# Main logic here
|
|
53
|
+
self.results['status'] = 'success'
|
|
54
|
+
self.results['target'] = str(self.target_path)
|
|
55
|
+
self.results['findings'] = []
|
|
56
|
+
|
|
57
|
+
# Add analysis results
|
|
58
|
+
if self.verbose:
|
|
59
|
+
print(f"✓ Analysis complete: {len(self.results.get('findings', []))} findings")
|
|
60
|
+
|
|
61
|
+
def generate_report(self):
|
|
62
|
+
"""Generate and display the report"""
|
|
63
|
+
print("\n" + "="*50)
|
|
64
|
+
print("REPORT")
|
|
65
|
+
print("="*50)
|
|
66
|
+
print(f"Target: {self.results.get('target')}")
|
|
67
|
+
print(f"Status: {self.results.get('status')}")
|
|
68
|
+
print(f"Findings: {len(self.results.get('findings', []))}")
|
|
69
|
+
print("="*50 + "\n")
|
|
70
|
+
|
|
71
|
+
def main():
|
|
72
|
+
"""Main entry point"""
|
|
73
|
+
parser = argparse.ArgumentParser(
|
|
74
|
+
description="Bundle Analyzer"
|
|
75
|
+
)
|
|
76
|
+
parser.add_argument(
|
|
77
|
+
'target',
|
|
78
|
+
help='Target path to analyze or process'
|
|
79
|
+
)
|
|
80
|
+
parser.add_argument(
|
|
81
|
+
'--verbose', '-v',
|
|
82
|
+
action='store_true',
|
|
83
|
+
help='Enable verbose output'
|
|
84
|
+
)
|
|
85
|
+
parser.add_argument(
|
|
86
|
+
'--json',
|
|
87
|
+
action='store_true',
|
|
88
|
+
help='Output results as JSON'
|
|
89
|
+
)
|
|
90
|
+
parser.add_argument(
|
|
91
|
+
'--output', '-o',
|
|
92
|
+
help='Output file path'
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
args = parser.parse_args()
|
|
96
|
+
|
|
97
|
+
tool = BundleAnalyzer(
|
|
98
|
+
args.target,
|
|
99
|
+
verbose=args.verbose
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
results = tool.run()
|
|
103
|
+
|
|
104
|
+
if args.json:
|
|
105
|
+
output = json.dumps(results, indent=2)
|
|
106
|
+
if args.output:
|
|
107
|
+
with open(args.output, 'w') as f:
|
|
108
|
+
f.write(output)
|
|
109
|
+
print(f"Results written to {args.output}")
|
|
110
|
+
else:
|
|
111
|
+
print(output)
|
|
112
|
+
|
|
113
|
+
if __name__ == '__main__':
|
|
114
|
+
main()
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Component Generator
|
|
4
|
+
Automated tool for senior frontend tasks
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
import json
|
|
10
|
+
import argparse
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
from typing import Dict, List, Optional
|
|
13
|
+
|
|
14
|
+
class ComponentGenerator:
|
|
15
|
+
"""Main class for component generator functionality"""
|
|
16
|
+
|
|
17
|
+
def __init__(self, target_path: str, verbose: bool = False):
|
|
18
|
+
self.target_path = Path(target_path)
|
|
19
|
+
self.verbose = verbose
|
|
20
|
+
self.results = {}
|
|
21
|
+
|
|
22
|
+
def run(self) -> Dict:
|
|
23
|
+
"""Execute the main functionality"""
|
|
24
|
+
print(f"🚀 Running {self.__class__.__name__}...")
|
|
25
|
+
print(f"📁 Target: {self.target_path}")
|
|
26
|
+
|
|
27
|
+
try:
|
|
28
|
+
self.validate_target()
|
|
29
|
+
self.analyze()
|
|
30
|
+
self.generate_report()
|
|
31
|
+
|
|
32
|
+
print("✅ Completed successfully!")
|
|
33
|
+
return self.results
|
|
34
|
+
|
|
35
|
+
except Exception as e:
|
|
36
|
+
print(f"❌ Error: {e}")
|
|
37
|
+
sys.exit(1)
|
|
38
|
+
|
|
39
|
+
def validate_target(self):
|
|
40
|
+
"""Validate the target path exists and is accessible"""
|
|
41
|
+
if not self.target_path.exists():
|
|
42
|
+
raise ValueError(f"Target path does not exist: {self.target_path}")
|
|
43
|
+
|
|
44
|
+
if self.verbose:
|
|
45
|
+
print(f"✓ Target validated: {self.target_path}")
|
|
46
|
+
|
|
47
|
+
def analyze(self):
|
|
48
|
+
"""Perform the main analysis or operation"""
|
|
49
|
+
if self.verbose:
|
|
50
|
+
print("📊 Analyzing...")
|
|
51
|
+
|
|
52
|
+
# Main logic here
|
|
53
|
+
self.results['status'] = 'success'
|
|
54
|
+
self.results['target'] = str(self.target_path)
|
|
55
|
+
self.results['findings'] = []
|
|
56
|
+
|
|
57
|
+
# Add analysis results
|
|
58
|
+
if self.verbose:
|
|
59
|
+
print(f"✓ Analysis complete: {len(self.results.get('findings', []))} findings")
|
|
60
|
+
|
|
61
|
+
def generate_report(self):
|
|
62
|
+
"""Generate and display the report"""
|
|
63
|
+
print("\n" + "="*50)
|
|
64
|
+
print("REPORT")
|
|
65
|
+
print("="*50)
|
|
66
|
+
print(f"Target: {self.results.get('target')}")
|
|
67
|
+
print(f"Status: {self.results.get('status')}")
|
|
68
|
+
print(f"Findings: {len(self.results.get('findings', []))}")
|
|
69
|
+
print("="*50 + "\n")
|
|
70
|
+
|
|
71
|
+
def main():
|
|
72
|
+
"""Main entry point"""
|
|
73
|
+
parser = argparse.ArgumentParser(
|
|
74
|
+
description="Component Generator"
|
|
75
|
+
)
|
|
76
|
+
parser.add_argument(
|
|
77
|
+
'target',
|
|
78
|
+
help='Target path to analyze or process'
|
|
79
|
+
)
|
|
80
|
+
parser.add_argument(
|
|
81
|
+
'--verbose', '-v',
|
|
82
|
+
action='store_true',
|
|
83
|
+
help='Enable verbose output'
|
|
84
|
+
)
|
|
85
|
+
parser.add_argument(
|
|
86
|
+
'--json',
|
|
87
|
+
action='store_true',
|
|
88
|
+
help='Output results as JSON'
|
|
89
|
+
)
|
|
90
|
+
parser.add_argument(
|
|
91
|
+
'--output', '-o',
|
|
92
|
+
help='Output file path'
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
args = parser.parse_args()
|
|
96
|
+
|
|
97
|
+
tool = ComponentGenerator(
|
|
98
|
+
args.target,
|
|
99
|
+
verbose=args.verbose
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
results = tool.run()
|
|
103
|
+
|
|
104
|
+
if args.json:
|
|
105
|
+
output = json.dumps(results, indent=2)
|
|
106
|
+
if args.output:
|
|
107
|
+
with open(args.output, 'w') as f:
|
|
108
|
+
f.write(output)
|
|
109
|
+
print(f"Results written to {args.output}")
|
|
110
|
+
else:
|
|
111
|
+
print(output)
|
|
112
|
+
|
|
113
|
+
if __name__ == '__main__':
|
|
114
|
+
main()
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Frontend Scaffolder
|
|
4
|
+
Automated tool for senior frontend tasks
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
import json
|
|
10
|
+
import argparse
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
from typing import Dict, List, Optional
|
|
13
|
+
|
|
14
|
+
class FrontendScaffolder:
|
|
15
|
+
"""Main class for frontend scaffolder functionality"""
|
|
16
|
+
|
|
17
|
+
def __init__(self, target_path: str, verbose: bool = False):
|
|
18
|
+
self.target_path = Path(target_path)
|
|
19
|
+
self.verbose = verbose
|
|
20
|
+
self.results = {}
|
|
21
|
+
|
|
22
|
+
def run(self) -> Dict:
|
|
23
|
+
"""Execute the main functionality"""
|
|
24
|
+
print(f"🚀 Running {self.__class__.__name__}...")
|
|
25
|
+
print(f"📁 Target: {self.target_path}")
|
|
26
|
+
|
|
27
|
+
try:
|
|
28
|
+
self.validate_target()
|
|
29
|
+
self.analyze()
|
|
30
|
+
self.generate_report()
|
|
31
|
+
|
|
32
|
+
print("✅ Completed successfully!")
|
|
33
|
+
return self.results
|
|
34
|
+
|
|
35
|
+
except Exception as e:
|
|
36
|
+
print(f"❌ Error: {e}")
|
|
37
|
+
sys.exit(1)
|
|
38
|
+
|
|
39
|
+
def validate_target(self):
|
|
40
|
+
"""Validate the target path exists and is accessible"""
|
|
41
|
+
if not self.target_path.exists():
|
|
42
|
+
raise ValueError(f"Target path does not exist: {self.target_path}")
|
|
43
|
+
|
|
44
|
+
if self.verbose:
|
|
45
|
+
print(f"✓ Target validated: {self.target_path}")
|
|
46
|
+
|
|
47
|
+
def analyze(self):
|
|
48
|
+
"""Perform the main analysis or operation"""
|
|
49
|
+
if self.verbose:
|
|
50
|
+
print("📊 Analyzing...")
|
|
51
|
+
|
|
52
|
+
# Main logic here
|
|
53
|
+
self.results['status'] = 'success'
|
|
54
|
+
self.results['target'] = str(self.target_path)
|
|
55
|
+
self.results['findings'] = []
|
|
56
|
+
|
|
57
|
+
# Add analysis results
|
|
58
|
+
if self.verbose:
|
|
59
|
+
print(f"✓ Analysis complete: {len(self.results.get('findings', []))} findings")
|
|
60
|
+
|
|
61
|
+
def generate_report(self):
|
|
62
|
+
"""Generate and display the report"""
|
|
63
|
+
print("\n" + "="*50)
|
|
64
|
+
print("REPORT")
|
|
65
|
+
print("="*50)
|
|
66
|
+
print(f"Target: {self.results.get('target')}")
|
|
67
|
+
print(f"Status: {self.results.get('status')}")
|
|
68
|
+
print(f"Findings: {len(self.results.get('findings', []))}")
|
|
69
|
+
print("="*50 + "\n")
|
|
70
|
+
|
|
71
|
+
def main():
|
|
72
|
+
"""Main entry point"""
|
|
73
|
+
parser = argparse.ArgumentParser(
|
|
74
|
+
description="Frontend Scaffolder"
|
|
75
|
+
)
|
|
76
|
+
parser.add_argument(
|
|
77
|
+
'target',
|
|
78
|
+
help='Target path to analyze or process'
|
|
79
|
+
)
|
|
80
|
+
parser.add_argument(
|
|
81
|
+
'--verbose', '-v',
|
|
82
|
+
action='store_true',
|
|
83
|
+
help='Enable verbose output'
|
|
84
|
+
)
|
|
85
|
+
parser.add_argument(
|
|
86
|
+
'--json',
|
|
87
|
+
action='store_true',
|
|
88
|
+
help='Output results as JSON'
|
|
89
|
+
)
|
|
90
|
+
parser.add_argument(
|
|
91
|
+
'--output', '-o',
|
|
92
|
+
help='Output file path'
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
args = parser.parse_args()
|
|
96
|
+
|
|
97
|
+
tool = FrontendScaffolder(
|
|
98
|
+
args.target,
|
|
99
|
+
verbose=args.verbose
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
results = tool.run()
|
|
103
|
+
|
|
104
|
+
if args.json:
|
|
105
|
+
output = json.dumps(results, indent=2)
|
|
106
|
+
if args.output:
|
|
107
|
+
with open(args.output, 'w') as f:
|
|
108
|
+
f.write(output)
|
|
109
|
+
print(f"Results written to {args.output}")
|
|
110
|
+
else:
|
|
111
|
+
print(output)
|
|
112
|
+
|
|
113
|
+
if __name__ == '__main__':
|
|
114
|
+
main()
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Senior Fullstack
|
|
3
|
+
description: Expertise for building complete web applications with React, Next.js, Node.js, GraphQL, and PostgreSQL.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Senior Fullstack Skill
|
|
7
|
+
|
|
8
|
+
This skill provides a comprehensive toolkit for building modern, scalable fullstack applications. It includes architectural patterns, development workflows, and automated scripts for project scaffolding and code quality analysis.
|
|
9
|
+
|
|
10
|
+
## Core Capabilities
|
|
11
|
+
|
|
12
|
+
### 1. Project Scaffolding
|
|
13
|
+
- **Automated Setup**: Rapidly initialize new fullstack projects with best practices.
|
|
14
|
+
- **Tools**: Use `scripts/fullstack_scaffolder.py` and `scripts/project_scaffolder.py`.
|
|
15
|
+
|
|
16
|
+
### 2. Code Quality & Analysis
|
|
17
|
+
- **Deep Analysis**: Analyze codebase for performance and maintainability.
|
|
18
|
+
- **Optimization**: Strategies for fullstack performance tuning and security.
|
|
19
|
+
- **Tools**: Use the code quality analyzer at `scripts/code_quality_analyzer.py`.
|
|
20
|
+
|
|
21
|
+
### 3. Architecture & Workflows
|
|
22
|
+
- **Proven Patterns**: Reference established architectural patterns for scalable systems.
|
|
23
|
+
- **Development Lifecycle**: Guidance on setting up robust development and deployment pipelines.
|
|
24
|
+
|
|
25
|
+
## Tech Stack
|
|
26
|
+
- **Frontend**: React, Next.js, React Native, Flutter.
|
|
27
|
+
- **Backend**: Node.js, Express, GraphQL, REST APIs.
|
|
28
|
+
- **Database**: PostgreSQL, Prisma, NeonDB, Supabase.
|
|
29
|
+
- **Infrastructure**: Docker, Kubernetes, GitHub Actions, AWS/GCP.
|
|
30
|
+
|
|
31
|
+
## Reference Documentation
|
|
32
|
+
The skill includes detailed references located in the `references/` directory:
|
|
33
|
+
- [Architecture Patterns](file:///Users/ruy/Code/mySkills/docs/senior-fullstack/references/architecture_patterns.md): System design and scalability.
|
|
34
|
+
- [Development Workflows](file:///Users/ruy/Code/mySkills/docs/senior-fullstack/references/development_workflows.md): CI/CD, testing, and deployment.
|
|
35
|
+
- [Tech Stack Guide](file:///Users/ruy/Code/mySkills/docs/senior-fullstack/references/tech_stack_guide.md): In-depth language and framework best practices.
|
|
36
|
+
|
|
37
|
+
## Workflows
|
|
38
|
+
|
|
39
|
+
### Quality Checks
|
|
40
|
+
1. Run `scripts/code_quality_analyzer.py` to identify technical debt.
|
|
41
|
+
2. Review recommendations from the tech stack guide.
|
|
42
|
+
3. Apply fixes and monitor system health.
|
|
43
|
+
|
|
44
|
+
### Best Practices Summary
|
|
45
|
+
- **Security**: Validate all inputs, use parameterized queries, and implement robust auth.
|
|
46
|
+
- **Performance**: Measure before optimizing; use appropriate caching strategies.
|
|
47
|
+
- **Maintainability**: Clear naming, consistent patterns, and comprehensive documentation.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
*Desenvolvimento fullstack de ponta a ponta com foco em escalabilidade e excelência técnica.*
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Architecture Patterns
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This reference guide provides comprehensive information for senior fullstack.
|
|
6
|
+
|
|
7
|
+
## Patterns and Practices
|
|
8
|
+
|
|
9
|
+
### Pattern 1: Best Practice Implementation
|
|
10
|
+
|
|
11
|
+
**Description:**
|
|
12
|
+
Detailed explanation of the pattern.
|
|
13
|
+
|
|
14
|
+
**When to Use:**
|
|
15
|
+
- Scenario 1
|
|
16
|
+
- Scenario 2
|
|
17
|
+
- Scenario 3
|
|
18
|
+
|
|
19
|
+
**Implementation:**
|
|
20
|
+
```typescript
|
|
21
|
+
// Example code implementation
|
|
22
|
+
export class Example {
|
|
23
|
+
// Implementation details
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Benefits:**
|
|
28
|
+
- Benefit 1
|
|
29
|
+
- Benefit 2
|
|
30
|
+
- Benefit 3
|
|
31
|
+
|
|
32
|
+
**Trade-offs:**
|
|
33
|
+
- Consider 1
|
|
34
|
+
- Consider 2
|
|
35
|
+
- Consider 3
|
|
36
|
+
|
|
37
|
+
### Pattern 2: Advanced Technique
|
|
38
|
+
|
|
39
|
+
**Description:**
|
|
40
|
+
Another important pattern for senior fullstack.
|
|
41
|
+
|
|
42
|
+
**Implementation:**
|
|
43
|
+
```typescript
|
|
44
|
+
// Advanced example
|
|
45
|
+
async function advancedExample() {
|
|
46
|
+
// Code here
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Guidelines
|
|
51
|
+
|
|
52
|
+
### Code Organization
|
|
53
|
+
- Clear structure
|
|
54
|
+
- Logical separation
|
|
55
|
+
- Consistent naming
|
|
56
|
+
- Proper documentation
|
|
57
|
+
|
|
58
|
+
### Performance Considerations
|
|
59
|
+
- Optimization strategies
|
|
60
|
+
- Bottleneck identification
|
|
61
|
+
- Monitoring approaches
|
|
62
|
+
- Scaling techniques
|
|
63
|
+
|
|
64
|
+
### Security Best Practices
|
|
65
|
+
- Input validation
|
|
66
|
+
- Authentication
|
|
67
|
+
- Authorization
|
|
68
|
+
- Data protection
|
|
69
|
+
|
|
70
|
+
## Common Patterns
|
|
71
|
+
|
|
72
|
+
### Pattern A
|
|
73
|
+
Implementation details and examples.
|
|
74
|
+
|
|
75
|
+
### Pattern B
|
|
76
|
+
Implementation details and examples.
|
|
77
|
+
|
|
78
|
+
### Pattern C
|
|
79
|
+
Implementation details and examples.
|
|
80
|
+
|
|
81
|
+
## Anti-Patterns to Avoid
|
|
82
|
+
|
|
83
|
+
### Anti-Pattern 1
|
|
84
|
+
What not to do and why.
|
|
85
|
+
|
|
86
|
+
### Anti-Pattern 2
|
|
87
|
+
What not to do and why.
|
|
88
|
+
|
|
89
|
+
## Tools and Resources
|
|
90
|
+
|
|
91
|
+
### Recommended Tools
|
|
92
|
+
- Tool 1: Purpose
|
|
93
|
+
- Tool 2: Purpose
|
|
94
|
+
- Tool 3: Purpose
|
|
95
|
+
|
|
96
|
+
### Further Reading
|
|
97
|
+
- Resource 1
|
|
98
|
+
- Resource 2
|
|
99
|
+
- Resource 3
|
|
100
|
+
|
|
101
|
+
## Conclusion
|
|
102
|
+
|
|
103
|
+
Key takeaways for using this reference guide effectively.
|