Initial commit
This commit is contained in:
11
.claude-plugin/plugin.json
Normal file
11
.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "project-setup-standards",
|
||||
"description": "Guide for standardized project initialization following team conventions",
|
||||
"version": "1.0.0",
|
||||
"author": {
|
||||
"name": "natifridman"
|
||||
},
|
||||
"commands": [
|
||||
"./commands"
|
||||
]
|
||||
}
|
||||
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# project-setup-standards
|
||||
|
||||
Guide for standardized project initialization following team conventions
|
||||
182
commands/project-setup.md
Normal file
182
commands/project-setup.md
Normal file
@@ -0,0 +1,182 @@
|
||||
---
|
||||
description: Guides through standardized project initialization following team conventions
|
||||
---
|
||||
|
||||
# Project Setup Standards
|
||||
|
||||
You are helping set up a new project following our team's standardized conventions. Guide the developer through the following setup steps:
|
||||
|
||||
## 1. Project Structure
|
||||
Create a well-organized project structure based on the project type:
|
||||
|
||||
### For Backend Projects:
|
||||
```
|
||||
project-name/
|
||||
├── src/
|
||||
│ ├── api/
|
||||
│ ├── services/
|
||||
│ ├── models/
|
||||
│ ├── utils/
|
||||
│ └── config/
|
||||
├── tests/
|
||||
│ ├── unit/
|
||||
│ └── integration/
|
||||
├── docs/
|
||||
├── .github/
|
||||
│ └── workflows/
|
||||
├── .gitignore
|
||||
├── README.md
|
||||
├── package.json (or equivalent)
|
||||
└── .env.example
|
||||
```
|
||||
|
||||
### For Frontend Projects:
|
||||
```
|
||||
project-name/
|
||||
├── src/
|
||||
│ ├── components/
|
||||
│ ├── pages/
|
||||
│ ├── hooks/
|
||||
│ ├── utils/
|
||||
│ ├── styles/
|
||||
│ └── assets/
|
||||
├── tests/
|
||||
├── public/
|
||||
├── docs/
|
||||
├── .github/
|
||||
│ └── workflows/
|
||||
├── .gitignore
|
||||
├── README.md
|
||||
├── package.json
|
||||
└── .env.example
|
||||
```
|
||||
|
||||
## 2. Essential Configuration Files
|
||||
|
||||
### .gitignore
|
||||
Include standard ignores for:
|
||||
- Dependencies (node_modules, venv, etc.)
|
||||
- Environment files (.env, .env.local)
|
||||
- Build outputs (dist, build, *.log)
|
||||
- IDE-specific files (.vscode, .idea)
|
||||
- OS-specific files (.DS_Store, Thumbs.db)
|
||||
|
||||
### README.md Template
|
||||
```markdown
|
||||
# Project Name
|
||||
|
||||
## Description
|
||||
Brief description of what this project does
|
||||
|
||||
## Prerequisites
|
||||
- List required software/tools
|
||||
- Minimum versions
|
||||
|
||||
## Installation
|
||||
Step-by-step installation instructions
|
||||
|
||||
## Usage
|
||||
How to run the project
|
||||
|
||||
## Testing
|
||||
How to run tests
|
||||
|
||||
## Contributing
|
||||
Link to contribution guidelines
|
||||
|
||||
## License
|
||||
License information
|
||||
```
|
||||
|
||||
## 3. Dependency Management
|
||||
|
||||
### For Node.js Projects:
|
||||
- Initialize with `npm init` or `yarn init`
|
||||
- Set up package.json with proper scripts:
|
||||
- `start`, `dev`, `build`, `test`, `lint`
|
||||
- Include commonly used dependencies and devDependencies
|
||||
- Set up a lockfile (package-lock.json or yarn.lock)
|
||||
|
||||
### For Python Projects:
|
||||
- Create requirements.txt or use Poetry/Pipenv
|
||||
- Set up virtual environment
|
||||
- Include common dependencies with pinned versions
|
||||
- Create requirements-dev.txt for development dependencies
|
||||
|
||||
## 4. Code Quality Tools
|
||||
|
||||
Set up the following tools:
|
||||
- **Linter**: ESLint (JS/TS), Pylint/Flake8 (Python), etc.
|
||||
- **Formatter**: Prettier (JS/TS), Black (Python), etc.
|
||||
- **Pre-commit Hooks**: Use Husky or pre-commit framework
|
||||
- **Type Checking**: TypeScript or mypy for Python
|
||||
|
||||
## 5. Testing Setup
|
||||
|
||||
Initialize testing framework:
|
||||
- **JavaScript/TypeScript**: Jest, Vitest, or Mocha
|
||||
- **Python**: pytest or unittest
|
||||
- Create initial test structure
|
||||
- Set up test coverage reporting
|
||||
|
||||
## 6. CI/CD Pipeline
|
||||
|
||||
Create `.github/workflows/ci.yml` with:
|
||||
- Automated testing on pull requests
|
||||
- Linting and formatting checks
|
||||
- Build verification
|
||||
- Optional: deployment workflows
|
||||
|
||||
Example workflow:
|
||||
```yaml
|
||||
name: CI
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Setup
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '18'
|
||||
- run: npm ci
|
||||
- run: npm test
|
||||
- run: npm run lint
|
||||
```
|
||||
|
||||
## 7. Environment Variables
|
||||
|
||||
Create `.env.example` with:
|
||||
- All required environment variables (without values)
|
||||
- Comments explaining each variable
|
||||
- Example values where appropriate
|
||||
|
||||
## 8. Documentation
|
||||
|
||||
Set up:
|
||||
- API documentation (Swagger/OpenAPI for backends)
|
||||
- Component documentation (Storybook for frontends)
|
||||
- Architecture decision records (ADR) in docs/adr/
|
||||
|
||||
## 9. Git Setup
|
||||
|
||||
- Initialize git repository if not already done
|
||||
- Create initial commit with project structure
|
||||
- Set up branch protection rules on main/master
|
||||
- Create development branch
|
||||
|
||||
## 10. Team-Specific Conventions
|
||||
|
||||
Apply team-specific standards:
|
||||
- Naming conventions (camelCase, snake_case, etc.)
|
||||
- Code organization patterns
|
||||
- Commit message format (Conventional Commits)
|
||||
- PR template in `.github/pull_request_template.md`
|
||||
|
||||
---
|
||||
|
||||
After gathering project requirements, guide the developer through each applicable section, creating necessary files and configurations. Explain the reasoning behind each standard to promote understanding.
|
||||
|
||||
45
plugin.lock.json
Normal file
45
plugin.lock.json
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"$schema": "internal://schemas/plugin.lock.v1.json",
|
||||
"pluginId": "gh:natifridman/claude-plugins:plugins/project-setup-standards",
|
||||
"normalized": {
|
||||
"repo": null,
|
||||
"ref": "refs/tags/v20251128.0",
|
||||
"commit": "ff6588909e683d47fe9c161739da7d7d7055f165",
|
||||
"treeHash": "bbb3c9688f7f135fdc8a150f903012fcf3b897a20f6aad771a574b0bb9120d77",
|
||||
"generatedAt": "2025-11-28T10:27:16.959180Z",
|
||||
"toolVersion": "publish_plugins.py@0.2.0"
|
||||
},
|
||||
"origin": {
|
||||
"remote": "git@github.com:zhongweili/42plugin-data.git",
|
||||
"branch": "master",
|
||||
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
|
||||
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
|
||||
},
|
||||
"manifest": {
|
||||
"name": "project-setup-standards",
|
||||
"description": "Guide for standardized project initialization following team conventions",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"content": {
|
||||
"files": [
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "59ff860a8c1988a31fc2ee7676de4f6a5b872930d1d81511c56523d74b93ebdd"
|
||||
},
|
||||
{
|
||||
"path": ".claude-plugin/plugin.json",
|
||||
"sha256": "95d90865bce5f553d91d2949caca3aa66d724510edda2d53232437334a2687b6"
|
||||
},
|
||||
{
|
||||
"path": "commands/project-setup.md",
|
||||
"sha256": "a95e86cc329bee1c52e88218775d8fada7200bbd3523c4de6eb5479a331a2628"
|
||||
}
|
||||
],
|
||||
"dirSha256": "bbb3c9688f7f135fdc8a150f903012fcf3b897a20f6aad771a574b0bb9120d77"
|
||||
},
|
||||
"security": {
|
||||
"scannedAt": null,
|
||||
"scannerVersion": null,
|
||||
"flags": []
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user