Project bootstrap
Use this skill when a maintainer is starting a new project and needs the baseline files and decisions a healthy open source repository should have from day one.
Primary inputs
- the project's goals, language/runtime, and intended audience
- any existing files in the new repository (if not fully empty)
- organization or personal defaults for licensing, if any are already stated
- package manager manifests to be created (e.g.
package.json,pyproject.toml,go.mod)
Instructions
Choose a license
- Ask whether the project should be open source and, if so, what usage the maintainer wants to allow or restrict (e.g. permissive vs. copyleft, patent grants, commercial use).
- If the maintainer has no preference, recommend a widely used permissive license such as MIT or Apache-2.0 for most projects, and explain the practical difference (Apache-2.0 adds an explicit patent grant; MIT is shorter and simpler).
- Point to choosealicense.com for edge cases (e.g. copyleft with GPL/AGPL, or no-license "all rights reserved").
- Add a
LICENSEfile with the chosen license text and the correct copyright holder and year. - If the project depends on other licensed code, confirm the chosen license is compatible with those dependencies.
Scaffold baseline files
- Use the ecosystem's standard scaffolding tool when one exists (e.g.
npm init,cargo init,go mod init, language-specific project templates) instead of hand-writing manifests. - Add or generate:
README.mdwith project name, purpose, install/usage instructions, and a link to contribution docsCONTRIBUTING.mddescribing setup, workflow, and pull request expectationsCODE_OF_CONDUCT.md(e.g. the Contributor Covenant).gitignorematching the project's language/tooling- a basic CI workflow that installs dependencies and runs lint/tests
- issue and pull request templates if the host platform supports them
- Keep initial scaffolding minimal and working rather than exhaustive; prefer a small set of files that build and run cleanly over a large, partially-configured template.
Set expectations for ongoing health
- Note which files a maintainer should revisit as the project grows (e.g.
SECURITY.mdonce there are real users, a changelog once there are releases). - Suggest enabling repository settings that support healthy contribution (e.g. branch protection, required status checks) once CI exists.
Recommendations to apply
- Default to a permissive, well-known license unless the maintainer states other requirements.
- Prefer official scaffolding tools over manually created config files to reduce mistakes.
- Keep the first commit's scope narrow: license, README, contribution docs, and a working CI check are enough to start.
Output format
Return:
- the recommended license and a short justification
- the list of files created or scaffolded
- any follow-up decisions the maintainer should revisit later