@adriankulik/create-fullstack-app 1.1.0 → 1.3.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.
Files changed (29) hide show
  1. package/README.md +5 -1
  2. package/cli/index.js +2 -0
  3. package/cli/logo.js +11 -0
  4. package/package.json +1 -1
  5. package/templates/base/.agents/skills/accessibility-general/SKILL.md +231 -0
  6. package/templates/base/.agents/skills/senior-frontend/SKILL.md +209 -0
  7. package/templates/base/.agents/skills/senior-frontend/references/frontend_best_practices.md +103 -0
  8. package/templates/base/.agents/skills/senior-frontend/references/nextjs_optimization_guide.md +103 -0
  9. package/templates/base/.agents/skills/senior-frontend/references/react_patterns.md +103 -0
  10. package/templates/base/.agents/skills/senior-frontend/scripts/bundle_analyzer.py +114 -0
  11. package/templates/base/.agents/skills/senior-frontend/scripts/component_generator.py +114 -0
  12. package/templates/base/.agents/skills/senior-frontend/scripts/frontend_scaffolder.py +114 -0
  13. package/templates/base/.agents/skills/senior-fullstack/SKILL.md +209 -0
  14. package/templates/base/.agents/skills/senior-fullstack/references/architecture_patterns.md +103 -0
  15. package/templates/base/.agents/skills/senior-fullstack/references/development_workflows.md +103 -0
  16. package/templates/base/.agents/skills/senior-fullstack/references/tech_stack_guide.md +103 -0
  17. package/templates/base/.agents/skills/senior-fullstack/scripts/code_quality_analyzer.py +114 -0
  18. package/templates/base/.agents/skills/senior-fullstack/scripts/fullstack_scaffolder.py +114 -0
  19. package/templates/base/.agents/skills/senior-fullstack/scripts/project_scaffolder.py +114 -0
  20. package/templates/base/.agents/skills/senior-qa/SKILL.md +209 -0
  21. package/templates/base/.agents/skills/senior-qa/references/qa_best_practices.md +103 -0
  22. package/templates/base/.agents/skills/senior-qa/references/test_automation_patterns.md +103 -0
  23. package/templates/base/.agents/skills/senior-qa/references/testing_strategies.md +103 -0
  24. package/templates/base/.agents/skills/senior-qa/scripts/coverage_analyzer.py +114 -0
  25. package/templates/base/.agents/skills/senior-qa/scripts/e2e_test_scaffolder.py +114 -0
  26. package/templates/base/.agents/skills/senior-qa/scripts/test_suite_generator.py +114 -0
  27. package/templates/base/ACCESSIBILITY.md +117 -0
  28. package/templates/base/{GEMINI.md → AGENTS.md} +1 -1
  29. package/templates/base/README.md +12 -0
@@ -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.
@@ -0,0 +1,103 @@
1
+ # Development Workflows
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.
@@ -0,0 +1,103 @@
1
+ # Tech Stack Guide
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.
@@ -0,0 +1,114 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Code Quality Analyzer
4
+ Automated tool for senior fullstack 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 CodeQualityAnalyzer:
15
+ """Main class for code quality 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="Code Quality 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 = CodeQualityAnalyzer(
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
+ Fullstack Scaffolder
4
+ Automated tool for senior fullstack 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 FullstackScaffolder:
15
+ """Main class for fullstack 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="Fullstack 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 = FullstackScaffolder(
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
+ Project Scaffolder
4
+ Automated tool for senior fullstack 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 ProjectScaffolder:
15
+ """Main class for project 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="Project 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 = ProjectScaffolder(
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()