Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:42:22 +08:00
commit a770acd32c
4 changed files with 241 additions and 0 deletions

View 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
View File

@@ -0,0 +1,3 @@
# project-setup-standards
Guide for standardized project initialization following team conventions

182
commands/project-setup.md Normal file
View 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
View 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": []
}
}