Scaffold a new project with community health files and standard structure for any language
From project-managementnpx claudepluginhub uw-ssec/rse-plugins --plugin project-managementWhen this command is invoked, initialize a new research software project with community health files and standard open-source infrastructure.
If argument provided (e.g., /setup-project my-climate-tool):
If no argument provided:
What is the name of your new project?
I'll create a project with:
- Community health files (README, CONTRIBUTING, LICENSE, CODE_OF_CONDUCT, SECURITY, CITATION.cff)
- Issue and PR templates
- .gitignore for your language
Optionally:
- Set up CI/CD (requires the GitHub plugin)
- Add a Dockerfile (requires the containerization plugin)
Please provide a project name (kebab-case recommended, e.g., `climate-analysis-tool`).
Before creating files, ask the user for essential configuration (use defaults if they want to proceed quickly):
gh config or git configIf the user says "use defaults" or "just create it", proceed with all defaults.
Create the standard project scaffold with universal infrastructure files:
<project-name>/
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.yml
│ │ └── feature_request.yml
│ └── PULL_REQUEST_TEMPLATE.md
├── README.md
├── CONTRIBUTING.md
├── LICENSE
├── CODE_OF_CONDUCT.md
├── SECURITY.md
├── CITATION.cff
└── .gitignore
Note: Language-specific directories (src/, tests/, docs/, lib/, etc.) and project configuration files (pyproject.toml, Cargo.toml, package.json, etc.) should be created using language-specific tooling. This command scaffolds the universal project infrastructure that every project needs regardless of language.
Use the community-health-files skill as reference for content and templates.
community-health-files skill assets. Customize with project name, description, and badge placeholders appropriate for the chosen language.bug_report.yml): GitHub issue form with description, reproduction steps, expected/actual behavior, environment info (language-neutral).feature_request.yml): GitHub issue form with problem statement, proposed solution, alternatives considered.PULL_REQUEST_TEMPLATE.md): Checklist with description, type of change, testing done, and documentation updated.The project scaffold includes community health files and GitHub templates. Language-specific project configuration should be created using the appropriate tooling:
pip install hatch && hatch new or configure pyproject.toml manuallycargo initnpm initusethis::create_package()go mod initPkg.generate()CMakeLists.txt or Makefile as appropriateThis command focuses on the universal project infrastructure that every project needs regardless of language.
If you have the GitHub plugin installed, run /ci-setup to generate GitHub Actions CI/CD workflows tailored to your project's language and tooling.
If you have the GitHub plugin installed, it can configure pre-commit hooks appropriate for your project's language.
Generate a .gitignore based on the project's primary language. Include universal entries:
.DS_Store, Thumbs.db.env, *.log.vscode/, .idea/Add language-specific patterns based on the selected language (e.g., __pycache__/ for Python, target/ for Rust, node_modules/ for Node.js, .Rhistory for R).
After creating all files, present a summary:
## Project Created: <project-name>
### Files Created:
- README.md — Project description, installation, quickstart
- CONTRIBUTING.md — Contribution guidelines with development setup
- LICENSE — <license-type>
- CODE_OF_CONDUCT.md — Contributor Covenant v2.1
- SECURITY.md — Security reporting policy
- CITATION.cff — Academic citation metadata
- .github/ISSUE_TEMPLATE/bug_report.yml — Bug report form
- .github/ISSUE_TEMPLATE/feature_request.yml — Feature request form
- .github/PULL_REQUEST_TEMPLATE.md — PR checklist
- .gitignore — <language> .gitignore
### Next Steps:
1. `cd <project-name>`
2. `git init && git add . && git commit -m "Initial project scaffold"`
3. `gh repo create <project-name> --public --source=. --push`
4. Set up language-specific project configuration (see Step 4 above)
5. (Optional) Install GitHub plugin and run `/ci-setup` for CI/CD workflows
### Customize:
- Update README.md with detailed project description
- Add language-specific configuration files
- Update CITATION.cff with all authors and ORCIDs
- Customize issue templates for your project's needs
community-health-files skill asset templates for community health files./setup-projectConfigure scripts and proxies to auto-start when opening this project