Thank you for your interest in contributing. This document explains how to get involved.
- Templates: Create templates for project types not yet covered (game dev, data science, DevOps, etc.)
- Examples: Add realistic example memory setups for different domains
- Scripts: Improve existing scripts or add new utilities (backup, migration, search)
- Documentation: Fix typos, clarify explanations, add diagrams
- Translations: Translate docs to other languages
- Bug Reports: File issues for scripts that don't work on your platform
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes
- Test any scripts on both macOS and Linux if possible
- Submit a pull request
- Every template must be immediately usable, not a skeleton with TODO placeholders
- Include inline comments explaining each section's purpose
- Keep the structure consistent with existing templates
- Test that
scripts/validate.shpasses with your template
- Use
#!/usr/bin/env bashfor portability - Include
set -euo pipefailfor safety - Support both macOS (BSD) and Linux (GNU) tool variants
- Add usage instructions in a help flag (
-h/--help) - Use colors only when stdout is a terminal
- Write in clear, direct language
- Use concrete examples over abstract descriptions
- Keep line length reasonable (no hard wrap required, but keep paragraphs readable)
- Link to related docs where helpful
- Use present tense: "Add template" not "Added template"
- First line under 72 characters
- Reference issues where applicable: "Fix validation on Linux (#42)"
- Ensure your branch is up to date with
main - Verify that
scripts/validate.shpasses on the templates directory - Describe what your PR does and why
- Link related issues
- Be responsive to review feedback
Be respectful and constructive. We're all here to build useful tools.
Open an issue with the "question" label. We'll get back to you.