metacoding 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/CHANGELOG.md +91 -0
- package/LICENSE +21 -0
- package/README.md +244 -0
- package/bin/metacoding.js +27 -0
- package/lib/cli.d.ts +2 -0
- package/lib/cli.d.ts.map +1 -0
- package/lib/cli.js +83 -0
- package/lib/cli.js.map +1 -0
- package/lib/commands/init.d.ts +15 -0
- package/lib/commands/init.d.ts.map +1 -0
- package/lib/commands/init.js +185 -0
- package/lib/commands/init.js.map +1 -0
- package/lib/commands/update.d.ts +5 -0
- package/lib/commands/update.d.ts.map +1 -0
- package/lib/commands/update.js +20 -0
- package/lib/commands/update.js.map +1 -0
- package/lib/commands/validate.d.ts +5 -0
- package/lib/commands/validate.d.ts.map +1 -0
- package/lib/commands/validate.js +20 -0
- package/lib/commands/validate.js.map +1 -0
- package/lib/services/filesystem.d.ts +13 -0
- package/lib/services/filesystem.d.ts.map +1 -0
- package/lib/services/filesystem.js +84 -0
- package/lib/services/filesystem.js.map +1 -0
- package/lib/services/project-detector.d.ts +12 -0
- package/lib/services/project-detector.d.ts.map +1 -0
- package/lib/services/project-detector.js +191 -0
- package/lib/services/project-detector.js.map +1 -0
- package/lib/services/template-manager.d.ts +15 -0
- package/lib/services/template-manager.d.ts.map +1 -0
- package/lib/services/template-manager.js +167 -0
- package/lib/services/template-manager.js.map +1 -0
- package/lib/services/vscode.d.ts +10 -0
- package/lib/services/vscode.d.ts.map +1 -0
- package/lib/services/vscode.js +108 -0
- package/lib/services/vscode.js.map +1 -0
- package/lib/types/index.d.ts +66 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +3 -0
- package/lib/types/index.js.map +1 -0
- package/package.json +134 -0
- package/templates/general/files/code-review.instructions.md +111 -0
- package/templates/general/files/copilot-instructions.md.template +404 -0
- package/templates/general/files/docs-update.instructions.md +203 -0
- package/templates/general/files/release.instructions.md +72 -0
- package/templates/general/files/test-runner.instructions.md +107 -0
- package/templates/general/template.json +9 -0
- package/templates/node/files/code-review.instructions.md +222 -0
- package/templates/node/files/copilot-instructions.md.template +391 -0
- package/templates/node/files/docs-update.instructions.md +203 -0
- package/templates/node/files/release.instructions.md +72 -0
- package/templates/node/files/test-runner.instructions.md +108 -0
- package/templates/node/template.json +23 -0
- package/templates/python/files/code-review.instructions.md +215 -0
- package/templates/python/files/copilot-instructions.md.template +418 -0
- package/templates/python/files/docs-update.instructions.md +203 -0
- package/templates/python/files/release.instructions.md +72 -0
- package/templates/python/files/test-runner.instructions.md +108 -0
- package/templates/python/template.json +75 -0
- package/templates/react/files/code-review.instructions.md +160 -0
- package/templates/react/files/copilot-instructions.md.template +472 -0
- package/templates/react/files/docs-update.instructions.md +203 -0
- package/templates/react/files/release.instructions.md +72 -0
- package/templates/react/files/test-runner.instructions.md +108 -0
- package/templates/react/template.json +14 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Step-by-step release process automation"
|
|
3
|
+
applyTo: "package.json"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Release Process Checklist
|
|
7
|
+
|
|
8
|
+
## Pre-Release Validation
|
|
9
|
+
1. **Test Suite:** Verify all tests pass: `npm test`
|
|
10
|
+
2. **Build Verification:** Ensure clean build without errors: `npm run build`
|
|
11
|
+
3. **Linting:** Check code quality standards: `npm run lint`
|
|
12
|
+
4. **Dependencies:** Review and update dependencies if needed
|
|
13
|
+
5. **Security Audit:** Run security audit: `npm audit`
|
|
14
|
+
|
|
15
|
+
## Version Management
|
|
16
|
+
1. **Semantic Versioning:** Update version in package.json following SemVer:
|
|
17
|
+
- **MAJOR:** Breaking changes (X.0.0)
|
|
18
|
+
- **MINOR:** New features, backward compatible (0.X.0)
|
|
19
|
+
- **PATCH:** Bug fixes, backward compatible (0.0.X)
|
|
20
|
+
2. **Version Consistency:** Ensure version matches across all relevant files
|
|
21
|
+
3. **Breaking Changes:** Document breaking changes prominently in changelog
|
|
22
|
+
|
|
23
|
+
## Documentation Updates
|
|
24
|
+
1. **README.md Updates:**
|
|
25
|
+
- Update version badges to match package.json version
|
|
26
|
+
- Refresh installation instructions if needed
|
|
27
|
+
- Update feature descriptions for new capabilities
|
|
28
|
+
- Verify all links and examples work correctly
|
|
29
|
+
2. **API Documentation:** Update API docs for any interface changes
|
|
30
|
+
|
|
31
|
+
## Changelog Management
|
|
32
|
+
1. **Add New Entry:** Create new section in CHANGELOG.md with:
|
|
33
|
+
- Release version number (matching package.json)
|
|
34
|
+
- Release date in YYYY-MM-DD format
|
|
35
|
+
- Grouped changes by category:
|
|
36
|
+
- **Added:** New features
|
|
37
|
+
- **Changed:** Changes in existing functionality
|
|
38
|
+
- **Deprecated:** Soon-to-be removed features
|
|
39
|
+
- **Removed:** Now removed features
|
|
40
|
+
- **Fixed:** Bug fixes
|
|
41
|
+
- **Security:** Security vulnerability fixes
|
|
42
|
+
2. **Entry Guidelines:**
|
|
43
|
+
- Keep entries brief but descriptive (1-2 lines per change)
|
|
44
|
+
- Focus on user impact rather than technical implementation
|
|
45
|
+
- Reference issue/PR numbers when applicable: `(#123)`
|
|
46
|
+
- Highlight breaking changes with ⚠️ or **BREAKING:**
|
|
47
|
+
|
|
48
|
+
## Git Operations
|
|
49
|
+
1. **Commit Changes:** Stage all release-related changes
|
|
50
|
+
2. **Commit Message:** Use format: `chore: bump version to vX.Y.Z`
|
|
51
|
+
3. **Create Tag:** Tag the commit with version number: `git tag vX.Y.Z`
|
|
52
|
+
4. **Push Changes:** Push commits and tags: `git push && git push --tags`
|
|
53
|
+
|
|
54
|
+
## GitHub Release
|
|
55
|
+
1. **Create Release:** Create GitHub release with tag matching package.json version
|
|
56
|
+
2. **Release Title:** Use format: `vX.Y.Z - [Brief description]`
|
|
57
|
+
3. **Release Notes:**
|
|
58
|
+
- Copy relevant sections from CHANGELOG.md
|
|
59
|
+
- Include installation instructions
|
|
60
|
+
- Highlight major changes and breaking changes
|
|
61
|
+
- Thank contributors if applicable
|
|
62
|
+
|
|
63
|
+
## Post-Release Verification
|
|
64
|
+
1. **Package Registry:** Verify package published correctly (if applicable)
|
|
65
|
+
2. **Installation Test:** Test installation from registry in clean environment
|
|
66
|
+
3. **Documentation Links:** Ensure all documentation links work correctly
|
|
67
|
+
4. **Monitor Issues:** Watch for any immediate issues reported by users
|
|
68
|
+
|
|
69
|
+
## Rollback Plan
|
|
70
|
+
- **Git Revert:** Know how to revert problematic releases
|
|
71
|
+
- **Package Unpublish:** Understand package registry policies for unpublishing
|
|
72
|
+
- **Communication:** Prepare communication strategy for critical issues
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'Instructions for running and maintaining tests'
|
|
3
|
+
applyTo: 'test/**/*.ts'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Test Execution Guidelines
|
|
7
|
+
|
|
8
|
+
## Pre-Commit Testing
|
|
9
|
+
|
|
10
|
+
- Run all tests before committing changes: `npm test`
|
|
11
|
+
- Ensure tests pass in both development and CI environments
|
|
12
|
+
- Fix failing tests before proceeding with commits
|
|
13
|
+
- Run specific test suites for targeted changes when appropriate
|
|
14
|
+
|
|
15
|
+
## Test Development Standards
|
|
16
|
+
|
|
17
|
+
- **New Features:** Ensure all new features have corresponding unit tests
|
|
18
|
+
- **Test Coverage:** Aim for high coverage of critical functionality paths
|
|
19
|
+
- **Test Documentation:** Follow table format in `test/test-documentation.md` for all test cases
|
|
20
|
+
- **Test Organization:** Group related tests in describe blocks with clear hierarchy
|
|
21
|
+
|
|
22
|
+
## Test Case Documentation Format
|
|
23
|
+
|
|
24
|
+
All test cases must be documented using the standardized table format:
|
|
25
|
+
|
|
26
|
+
```markdown
|
|
27
|
+
| Test Case ID | Description | Type | Status |
|
|
28
|
+
| :------------ | :------------------------------------------ | :--- | :-------- |
|
|
29
|
+
| AREA-TYPE-001 | Brief but descriptive test case description | Unit | Completed |
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Test Case Naming Conventions
|
|
33
|
+
|
|
34
|
+
### Test Case ID Format: `[AREA]-[TYPE]-[NUMBER]`
|
|
35
|
+
|
|
36
|
+
**Area Prefixes (Python/Django specific):**
|
|
37
|
+
|
|
38
|
+
- `VIEW` - Django views/FastAPI endpoints tests
|
|
39
|
+
- `MODEL` - Django models/SQLAlchemy tests
|
|
40
|
+
- `FORM` - Django forms/Pydantic validators tests
|
|
41
|
+
- `MW` - Middleware tests
|
|
42
|
+
- `AUTH` - Authentication/Authorization tests
|
|
43
|
+
- `UTIL` - Utility function tests
|
|
44
|
+
- `CMD` - Django management commands tests
|
|
45
|
+
- `CONFIG` - Configuration/Settings tests
|
|
46
|
+
- `DOC` - Documentation Quality tests
|
|
47
|
+
- `E2E` - End-to-End workflow tests
|
|
48
|
+
- `INT` - Integration tests
|
|
49
|
+
|
|
50
|
+
**Type Suffixes:**
|
|
51
|
+
|
|
52
|
+
- `UNIT` - Unit tests
|
|
53
|
+
- `INT` - Integration tests
|
|
54
|
+
- `E2E` - End-to-end tests
|
|
55
|
+
|
|
56
|
+
**Examples:**
|
|
57
|
+
|
|
58
|
+
- `VIEW-UNIT-001` - First unit test for Django Views
|
|
59
|
+
- `MODEL-UNIT-001` - First unit test for Django Models
|
|
60
|
+
- `AUTH-INT-001` - First integration test for Authentication
|
|
61
|
+
- `E2E-WF-001` - First end-to-end workflow test
|
|
62
|
+
|
|
63
|
+
### Test Method Naming
|
|
64
|
+
|
|
65
|
+
- Format: `methodName_scenario_expectedOutcome`
|
|
66
|
+
- Example: `getUserById_userExists_returnsUserObject`
|
|
67
|
+
- Use camelCase for all test method names
|
|
68
|
+
|
|
69
|
+
## Test Data Management
|
|
70
|
+
|
|
71
|
+
- **Fixtures:** Update test fixtures when data structures change
|
|
72
|
+
- **Realistic Data:** Use realistic data in integration tests to catch real-world issues
|
|
73
|
+
- **Mock Strategy:** Mock external dependencies in unit tests for isolation
|
|
74
|
+
- **Test Database:** Use separate test database/environment for integration tests
|
|
75
|
+
- **Temporary File Cleanup:** Clean up all temporary test files, debug outputs, and mock data after test execution
|
|
76
|
+
- **Fixture Organization:** Move reusable test data to `/test/fixtures/` directory for proper organization
|
|
77
|
+
|
|
78
|
+
## Test File Hygiene
|
|
79
|
+
|
|
80
|
+
- **No Orphaned Files:** Remove temporary test files created during debugging or development
|
|
81
|
+
- **Debug Output Cleanup:** Remove console.log statements and debug files before committing
|
|
82
|
+
- **Test Artifact Management:** Ensure test screenshots, logs, and reports are properly managed or cleaned up
|
|
83
|
+
- **Resource Management:** Properly dispose of file handles, database connections, and other test resources
|
|
84
|
+
|
|
85
|
+
## Test Types and Patterns
|
|
86
|
+
|
|
87
|
+
- **Unit Tests:** Test individual functions, methods, and components in isolation
|
|
88
|
+
- **Integration Tests:** Test feature workflows and component interactions
|
|
89
|
+
- **End-to-End Tests:** Test complete user scenarios and workflows
|
|
90
|
+
- **Regression Tests:** Add tests for previously fixed bugs to prevent recurrence
|
|
91
|
+
|
|
92
|
+
## Performance Testing
|
|
93
|
+
|
|
94
|
+
- **Test Execution Speed:** Keep unit tests fast (under 100ms each when possible)
|
|
95
|
+
- **Parallel Execution:** Structure tests to run safely in parallel
|
|
96
|
+
- **Resource Cleanup:** Ensure proper cleanup of test resources and temporary data
|
|
97
|
+
- **Memory Management:** Monitor and prevent memory leaks in long-running test suites
|
|
98
|
+
|
|
99
|
+
## Test Maintenance
|
|
100
|
+
|
|
101
|
+
- **Regular Review:** Periodically review and refactor outdated tests
|
|
102
|
+
- **Documentation:** Document complex test scenarios and their purposes
|
|
103
|
+
- **Continuous Updates:** Update tests when requirements or APIs change
|
|
104
|
+
- **Test Quality:** Apply the same code quality standards to test code as production code
|
|
105
|
+
- **Update test-documentation.md:** Add new test cases to the appropriate table section
|
|
106
|
+
- **Status Tracking:** Update test status as development progresses
|
|
107
|
+
- **Table Format:** Maintain consistent table formatting and column alignment
|
|
108
|
+
- **ID Assignment:** Assign sequential IDs within each area (AREA-TYPE-001, AREA-TYPE-002, etc.)
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "python",
|
|
3
|
+
"description": "Python backend development template with Django, Flask, and FastAPI support",
|
|
4
|
+
"projectTypes": [
|
|
5
|
+
"Python Application",
|
|
6
|
+
"Django Application",
|
|
7
|
+
"Flask Application",
|
|
8
|
+
"FastAPI Application"
|
|
9
|
+
],
|
|
10
|
+
"techStack": ["Python", "Django", "Flask", "FastAPI", "SQLAlchemy", "pytest"],
|
|
11
|
+
"vscodeSettings": {
|
|
12
|
+
"github.copilot.chat.codeGeneration.useInstructionFiles": true,
|
|
13
|
+
"chat.promptFiles": true,
|
|
14
|
+
"python.defaultInterpreterPath": "./venv/bin/python",
|
|
15
|
+
"python.terminal.activateEnvironment": true,
|
|
16
|
+
"python.testing.pytestEnabled": true,
|
|
17
|
+
"python.testing.unittestEnabled": false,
|
|
18
|
+
"python.testing.pytestArgs": ["."],
|
|
19
|
+
"python.linting.enabled": true,
|
|
20
|
+
"python.linting.pylintEnabled": false,
|
|
21
|
+
"python.linting.flake8Enabled": true,
|
|
22
|
+
"python.formatting.provider": "black",
|
|
23
|
+
"python.sortImports.args": ["--profile", "black"]
|
|
24
|
+
},
|
|
25
|
+
"gitignore": [
|
|
26
|
+
"__pycache__/",
|
|
27
|
+
"*.py[cod]",
|
|
28
|
+
"*$py.class",
|
|
29
|
+
"*.so",
|
|
30
|
+
".Python",
|
|
31
|
+
"build/",
|
|
32
|
+
"develop-eggs/",
|
|
33
|
+
"dist/",
|
|
34
|
+
"downloads/",
|
|
35
|
+
"eggs/",
|
|
36
|
+
".eggs/",
|
|
37
|
+
"lib/",
|
|
38
|
+
"lib64/",
|
|
39
|
+
"parts/",
|
|
40
|
+
"sdist/",
|
|
41
|
+
"var/",
|
|
42
|
+
"wheels/",
|
|
43
|
+
"*.egg-info/",
|
|
44
|
+
".installed.cfg",
|
|
45
|
+
"*.egg",
|
|
46
|
+
"MANIFEST",
|
|
47
|
+
"*.manifest",
|
|
48
|
+
"*.spec",
|
|
49
|
+
"pip-log.txt",
|
|
50
|
+
"pip-delete-this-directory.txt",
|
|
51
|
+
".tox/",
|
|
52
|
+
".coverage",
|
|
53
|
+
".pytest_cache/",
|
|
54
|
+
".coverage.*",
|
|
55
|
+
"coverage.xml",
|
|
56
|
+
"*.cover",
|
|
57
|
+
".hypothesis/",
|
|
58
|
+
".env",
|
|
59
|
+
".venv",
|
|
60
|
+
"env/",
|
|
61
|
+
"venv/",
|
|
62
|
+
"ENV/",
|
|
63
|
+
"env.bak/",
|
|
64
|
+
"venv.bak/",
|
|
65
|
+
".mypy_cache/",
|
|
66
|
+
".dmypy.json",
|
|
67
|
+
"dmypy.json",
|
|
68
|
+
"db.sqlite3",
|
|
69
|
+
"*.log",
|
|
70
|
+
"celerybeat-schedule",
|
|
71
|
+
"celerybeat.pid",
|
|
72
|
+
"staticfiles/",
|
|
73
|
+
"media/"
|
|
74
|
+
]
|
|
75
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'Automated code review checklist'
|
|
3
|
+
applyTo: '**'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Code Review Focus Areas
|
|
7
|
+
|
|
8
|
+
## React-Specific Functionality Assessment
|
|
9
|
+
|
|
10
|
+
- **Component Props:** Are prop interfaces well-defined and type-safe?
|
|
11
|
+
- **State Management:** Is state handled appropriately (local vs global)?
|
|
12
|
+
- **Effect Dependencies:** Are useEffect dependencies complete and accurate?
|
|
13
|
+
- **Event Handlers:** Are event handlers properly memoized when needed?
|
|
14
|
+
- **Conditional Rendering:** Are all rendering paths tested and accessible?
|
|
15
|
+
|
|
16
|
+
## React Component Quality
|
|
17
|
+
|
|
18
|
+
- **Single Responsibility:** Does each component have a single, clear purpose?
|
|
19
|
+
- **Component Size:** Are components reasonably sized and focused?
|
|
20
|
+
- **Props Design:** Are props minimal, well-typed, and follow interface patterns?
|
|
21
|
+
- **Hook Usage:** Are hooks used correctly and following Rules of Hooks?
|
|
22
|
+
- **JSX Quality:** Is JSX readable, semantic, and properly structured?
|
|
23
|
+
|
|
24
|
+
## React Performance Considerations
|
|
25
|
+
|
|
26
|
+
- **Re-render Optimization:** Are unnecessary re-renders prevented with memo/callback?
|
|
27
|
+
- **Bundle Size:** Do imports follow tree-shaking best practices?
|
|
28
|
+
- **Lazy Loading:** Are code splitting opportunities identified and implemented?
|
|
29
|
+
- **Memory Leaks:** Are effects cleaned up properly on unmount?
|
|
30
|
+
- **Key Props:** Are list items using stable, unique keys?
|
|
31
|
+
|
|
32
|
+
## React Security and Accessibility
|
|
33
|
+
|
|
34
|
+
- **XSS Prevention:** Is user input properly sanitized in JSX?
|
|
35
|
+
- **ARIA Compliance:** Are interactive elements properly labeled?
|
|
36
|
+
- **Semantic HTML:** Are semantic HTML elements used instead of generic divs?
|
|
37
|
+
- **Keyboard Navigation:** Are all interactive elements keyboard accessible?
|
|
38
|
+
- **Focus Management:** Is focus handled correctly for dynamic content?
|
|
39
|
+
|
|
40
|
+
## React Testing Quality
|
|
41
|
+
|
|
42
|
+
- **Component Testing:** Are components tested using React Testing Library?
|
|
43
|
+
- **User-Focused Tests:** Do tests verify user behavior rather than implementation?
|
|
44
|
+
- **Hook Testing:** Are custom hooks tested independently?
|
|
45
|
+
- **Integration Testing:** Are component interactions tested realistically?
|
|
46
|
+
- **Accessibility Testing:** Are accessibility features included in tests?
|
|
47
|
+
|
|
48
|
+
## React File and Component Hygiene
|
|
49
|
+
|
|
50
|
+
- **Component Cleanup:** Are temporary/experimental React components removed from the codebase?
|
|
51
|
+
- **JSX Debug Elements:** Are debug divs, temporary styling, and console.log statements removed?
|
|
52
|
+
- **Unused Imports:** Are unused React imports, hooks, and component imports cleaned up?
|
|
53
|
+
- **Mock Component Removal:** Are temporary mock components moved to proper mock directories or removed?
|
|
54
|
+
- **Storybook Integration:** Are useful component experiments moved to Storybook stories?
|
|
55
|
+
- **Style Experiments:** Are temporary CSS/styled-component experiments cleaned up or properly organized?
|
|
56
|
+
|
|
57
|
+
## React-Specific Anti-Patterns to Flag
|
|
58
|
+
|
|
59
|
+
- **Direct State Mutation:** Mutating state objects directly instead of using setState
|
|
60
|
+
- **Missing Keys:** Using array indices or missing keys in lists
|
|
61
|
+
- **Inline Object Creation:** Creating objects/functions in render without memoization
|
|
62
|
+
- **useEffect Overuse:** Using useEffect when derived state would suffice
|
|
63
|
+
- **Props Drilling:** Passing props through multiple levels unnecessarily
|
|
64
|
+
- **God Components:** Components handling too many concerns
|
|
65
|
+
|
|
66
|
+
## Functionality Assessment
|
|
67
|
+
|
|
68
|
+
- **Requirements Compliance:** Does the code meet the specified requirements?
|
|
69
|
+
- **Edge Cases:** Are edge cases properly handled?
|
|
70
|
+
- **Error Scenarios:** How does the code behave with invalid inputs?
|
|
71
|
+
- **Business Logic:** Is the business logic correctly implemented?
|
|
72
|
+
- **Integration Points:** Do integrations with other components work correctly?
|
|
73
|
+
|
|
74
|
+
## Code Quality and Readability
|
|
75
|
+
|
|
76
|
+
- **Naming Conventions:** Are variables, functions, and classes named clearly?
|
|
77
|
+
- **Code Structure:** Is the code well-organized and logically structured?
|
|
78
|
+
- **Function Size:** Are functions focused and reasonably sized (< 50 lines)?
|
|
79
|
+
- **Complexity:** Is the code unnecessarily complex or could it be simplified?
|
|
80
|
+
- **Comments:** Are comments helpful and explain "why" not "what"?
|
|
81
|
+
- **Consistency:** Does the code follow established project patterns?
|
|
82
|
+
|
|
83
|
+
## Performance Considerations
|
|
84
|
+
|
|
85
|
+
- **Algorithm Efficiency:** Are appropriate algorithms and data structures used?
|
|
86
|
+
- **Memory Usage:** Are there potential memory leaks or excessive memory usage?
|
|
87
|
+
- **Database Queries:** Are database queries optimized and avoid N+1 problems?
|
|
88
|
+
- **Async Operations:** Are async operations used appropriately for I/O?
|
|
89
|
+
- **Caching:** Are caching opportunities identified and implemented correctly?
|
|
90
|
+
- **Resource Management:** Are resources properly acquired and released?
|
|
91
|
+
|
|
92
|
+
## Security Review
|
|
93
|
+
|
|
94
|
+
- **Input Validation:** Are all inputs properly validated and sanitized?
|
|
95
|
+
- **Authentication:** Are authentication checks in place where needed?
|
|
96
|
+
- **Authorization:** Are authorization checks appropriate for the functionality?
|
|
97
|
+
- **Data Exposure:** Is sensitive data properly protected?
|
|
98
|
+
- **Injection Attacks:** Are SQL injection and other injection attacks prevented?
|
|
99
|
+
- **Encryption:** Is sensitive data encrypted appropriately?
|
|
100
|
+
|
|
101
|
+
## Testing and Testability
|
|
102
|
+
|
|
103
|
+
- **Test Coverage:** Are there sufficient tests for the new functionality?
|
|
104
|
+
- **Test Quality:** Are tests meaningful and test the right things?
|
|
105
|
+
- **Testability:** Is the code structured to be easily testable?
|
|
106
|
+
- **Mocking:** Are external dependencies properly mocked in tests?
|
|
107
|
+
- **Integration Tests:** Are integration points covered by appropriate tests?
|
|
108
|
+
- **Regression Protection:** Do tests protect against known regression issues?
|
|
109
|
+
|
|
110
|
+
## Error Handling and Logging
|
|
111
|
+
|
|
112
|
+
- **Exception Handling:** Are exceptions handled appropriately?
|
|
113
|
+
- **Error Messages:** Are error messages helpful for debugging?
|
|
114
|
+
- **Logging:** Is appropriate logging in place for debugging and monitoring?
|
|
115
|
+
- **Graceful Degradation:** Does the system handle failures gracefully?
|
|
116
|
+
- **Recovery:** Are there appropriate recovery mechanisms?
|
|
117
|
+
|
|
118
|
+
## Documentation and Maintenance
|
|
119
|
+
|
|
120
|
+
- **Code Documentation:** Is the code self-documenting or properly commented?
|
|
121
|
+
- **API Documentation:** Are public APIs documented with JSDoc?
|
|
122
|
+
- **Breaking Changes:** Are breaking changes clearly identified and documented?
|
|
123
|
+
- **Migration Guides:** Are migration paths provided for breaking changes?
|
|
124
|
+
- **Changelog Updates:** Are user-facing changes documented in changelog?
|
|
125
|
+
|
|
126
|
+
## Standards Compliance
|
|
127
|
+
|
|
128
|
+
- **Coding Standards:** Does the code follow project coding standards?
|
|
129
|
+
- **Architectural Patterns:** Are established architectural patterns followed?
|
|
130
|
+
- **Dependency Management:** Are new dependencies justified and properly managed?
|
|
131
|
+
- **Configuration:** Are configuration changes handled appropriately?
|
|
132
|
+
- **Version Compatibility:** Is backwards compatibility maintained where required?
|
|
133
|
+
|
|
134
|
+
## Common Anti-Patterns to Flag
|
|
135
|
+
|
|
136
|
+
- **Deep Nesting:** Excessive if/else or try/catch nesting
|
|
137
|
+
- **God Objects:** Classes or functions with too many responsibilities
|
|
138
|
+
- **Magic Numbers:** Hardcoded values without explanation
|
|
139
|
+
- **Copy-Paste Code:** Duplicated code that should be refactored
|
|
140
|
+
- **Tight Coupling:** Components that are too dependent on each other
|
|
141
|
+
- **Memory Leaks:** Objects not properly cleaned up
|
|
142
|
+
- **Blocking Operations:** Synchronous operations that could block the main thread
|
|
143
|
+
|
|
144
|
+
## Review Process Guidelines
|
|
145
|
+
|
|
146
|
+
- **Constructive Feedback:** Provide specific, actionable feedback
|
|
147
|
+
- **Explain Reasoning:** Explain why changes are needed
|
|
148
|
+
- **Suggest Alternatives:** Offer alternative approaches when applicable
|
|
149
|
+
- **Acknowledge Good Work:** Recognize well-written code and good practices
|
|
150
|
+
- **Focus on Code:** Keep feedback focused on code, not personal
|
|
151
|
+
- **Prioritize Issues:** Distinguish between critical issues and suggestions
|
|
152
|
+
|
|
153
|
+
## Automated Checks to Verify
|
|
154
|
+
|
|
155
|
+
- **Linting:** Code passes linting rules
|
|
156
|
+
- **Formatting:** Code follows formatting standards
|
|
157
|
+
- **Type Checking:** TypeScript compilation succeeds without errors
|
|
158
|
+
- **Tests:** All tests pass including new and existing ones
|
|
159
|
+
- **Build:** Code builds successfully
|
|
160
|
+
- **Security Scans:** Automated security scans pass
|