This checklist ensures the project is ready for open source release.
-
.gitignorefile created - Excludes sensitive files:- Service account JSON files
- Environment variable files (.env)
- Virtual environments (venv/)
- Log files
- IDE/editor files
- Build artifacts
-
LICENSEfile added - MIT License as specified in README -
CONTRIBUTING.mdcreated - Guidelines for contributors -
SECURITY.mdcreated - Security policy and reporting guidelines -
README updated:
- Removed hardcoded user paths
- Removed all Firebase/cloud setup instructions
- Updated for local-only setup
- Added Contributing and Security sections
Before your first commit, verify these files are NOT tracked by git:
git statusEnsure these files are NOT listed (they should be ignored):
.envfilesvenv/directory*.logfiles- Any sensitive configuration files
If any sensitive files were previously committed, remove them from git history:
# Remove from git cache (but keep local file)
git rm --cached .env
git rm --cached any-sensitive-files
# If files were committed in previous commits, you may need to rewrite history
# Use git filter-branch or BFG Repo-Cleaner for thisSearch for any remaining hardcoded secrets:
# Check for any hardcoded secrets (should find none)
grep -r "private_key" --exclude-dir=venv --exclude-dir=.git .
grep -r "api[_-]?key" --exclude-dir=venv --exclude-dir=.git -i .- Clone the repository in a fresh directory
- Follow the setup instructions in README
- Verify everything works without the sensitive files
When publishing to GitHub/GitLab:
- Add a clear description
- Add relevant topics/tags
- Set up branch protection rules for
main/master - Enable security alerts (GitHub)
Consider adding:
- Issue templates (bug report, feature request)
- Pull request template
- The
.gitignorefile is comprehensive and should protect sensitive files - All sensitive files are already excluded from version control
- Project is local-only - no cloud services required
- Documentation is updated to guide new users
- All Firebase/GCS dependencies have been removed
Once you've verified the above, your project is ready for open source release!