@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
|
+
# Deployment Strategies
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This reference guide provides comprehensive information for senior devops.
|
|
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 devops.
|
|
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
|
+
# Infrastructure As Code
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This reference guide provides comprehensive information for senior devops.
|
|
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 devops.
|
|
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
|
+
Deployment Manager
|
|
4
|
+
Automated tool for senior devops 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 DeploymentManager:
|
|
15
|
+
"""Main class for deployment manager 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="Deployment Manager"
|
|
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 = DeploymentManager(
|
|
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
|
+
Pipeline Generator
|
|
4
|
+
Automated tool for senior devops 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 PipelineGenerator:
|
|
15
|
+
"""Main class for pipeline 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="Pipeline 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 = PipelineGenerator(
|
|
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
|
+
Terraform Scaffolder
|
|
4
|
+
Automated tool for senior devops 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 TerraformScaffolder:
|
|
15
|
+
"""Main class for terraform 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="Terraform 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 = TerraformScaffolder(
|
|
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,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Senior Frontend
|
|
3
|
+
description: Expertise for building modern web applications with React, Next.js, TypeScript, and Tailwind CSS.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Senior Frontend Skill
|
|
7
|
+
|
|
8
|
+
This skill provides a comprehensive toolkit for building modern, performant web applications. It includes best practices, pattern references, and automated scripts for component generation and performance analysis.
|
|
9
|
+
|
|
10
|
+
## Core Capabilities
|
|
11
|
+
|
|
12
|
+
### 1. Component Generation
|
|
13
|
+
- **Automated Scaffolding**: Rapidly create standard component structures.
|
|
14
|
+
- **Patterns**: Based on established React and Next.js design patterns.
|
|
15
|
+
- **Automation**: Use the local script at `scripts/component_generator.py`.
|
|
16
|
+
|
|
17
|
+
### 2. Performance & Bundle Analysis
|
|
18
|
+
- **Deep Analysis**: Analyze bundle sizes and identify performance bottlenecks.
|
|
19
|
+
- **Optimization**: Strategies for Next.js and React performance tuning.
|
|
20
|
+
- **Tools**: Use the bundle analyzer at `scripts/bundle_analyzer.py`.
|
|
21
|
+
|
|
22
|
+
### 3. Special Scaffolding
|
|
23
|
+
- **Expert Automation**: Specialized tasks for production-grade output.
|
|
24
|
+
- **Tools**: Use the utility at `scripts/frontend_scaffolder.py`.
|
|
25
|
+
|
|
26
|
+
## Tech Stack
|
|
27
|
+
- **Languages**: TypeScript, JavaScript (with Python for helper scripts).
|
|
28
|
+
- **Frameworks**: React, Next.js.
|
|
29
|
+
- **Styling**: Tailwind CSS.
|
|
30
|
+
- **Data Layer**: GraphQL, REST, Prisma/PostgreSQL.
|
|
31
|
+
|
|
32
|
+
## Reference Documentation
|
|
33
|
+
The skill includes detailed references located in the `references/` directory:
|
|
34
|
+
- [React Patterns](file:///Users/ruy/Code/mySkills/docs/senior-frontend/references/react_patterns.md): Code examples and anti-patterns.
|
|
35
|
+
- [Next.js Optimization](file:///Users/ruy/Code/mySkills/docs/senior-frontend/references/nextjs_optimization_guide.md): Performance tuning and strategies.
|
|
36
|
+
- [Frontend Best Practices](file:///Users/ruy/Code/mySkills/docs/senior-frontend/references/frontend_best_practices.md): Technology stack configurations and security.
|
|
37
|
+
|
|
38
|
+
## Workflows
|
|
39
|
+
|
|
40
|
+
### Quality Checks
|
|
41
|
+
1. Run the bundle analyzer script to identify issues.
|
|
42
|
+
2. Review recommendations from the optimization guide.
|
|
43
|
+
3. Apply fixes and monitor performance metrics.
|
|
44
|
+
|
|
45
|
+
### Best Practices Summary
|
|
46
|
+
- **Code Quality**: Follow patterns, write tests, and document decisions.
|
|
47
|
+
- **Performance**: Measure before optimizing; keep it simple and monitor in production.
|
|
48
|
+
- **Security**: Validate inputs, manage dependencies, and implement proper auth.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
*Desenvolvimento frontend de alto nível com foco em performance e manutenibilidade.*
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Frontend Best Practices
|
|
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.
|