Skip to content

Commit 52d1cfe

Browse files
Initial commit
0 parents  commit 52d1cfe

18 files changed

Lines changed: 4478 additions & 0 deletions

.DS_Store

8 KB
Binary file not shown.

.gitattributes

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.gitignore export-ignore
2+
.npmignore export-ignore
3+
.vscodeignore export-ignore
4+
.gitattributes export-ignore
5+
.DS_Store export-ignore

.gitignore

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Prevent nested git repositories
2+
.git
3+
4+
# Node.js
5+
node_modules/
6+
npm-debug.log
7+
yarn-error.log
8+
package-lock.json
9+
yarn.lock
10+
11+
# Build & Distribution
12+
dist/
13+
build/
14+
*.tsbuildinfo
15+
16+
# Environment Variables
17+
.env
18+
.env.local
19+
.env.*.local
20+
21+
# IDE & Editor
22+
.vscode/
23+
.idea/
24+
*.swp
25+
*.swo
26+
*~
27+
.DS_Store
28+
Thumbs.db
29+
30+
# OS
31+
.DS_Store
32+
.AppleDouble
33+
.LSOverride
34+
35+
# Logs
36+
logs/
37+
*.log

.npmignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.git
2+
.gitignore
3+
.vscode
4+
.DS_Store

.vscodeignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.git
2+
.gitignore
3+
.vscode
4+
**/.DS_Store

LICENSE

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Creative Commons Attribution 4.0 International
2+
3+
This work is licensed under the Creative Commons Attribution 4.0 International License.
4+
To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/
5+
or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
6+
7+
You are free to:
8+
- Share — copy and redistribute the material in any medium or format
9+
- Adapt — remix, transform, and build upon the material for any purpose, even commercially
10+
11+
Under the following terms:
12+
- Attribution — You must give appropriate credit, provide a link to the license,
13+
and indicate if changes were made. You may do so in any reasonable manner,
14+
but not in any way that suggests the licensor endorses you or your use.
15+
16+
No additional restrictions — You may not apply legal terms or technological measures
17+
that legally restrict others from doing anything the license permits.
18+
19+
For the full legal text of this license, see:
20+
http://creativecommons.org/licenses/by/4.0/legalcode

README.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
# Open Source Best Practices
2+
3+
**Use this if:** You're launching a project publicly, hardening an existing public repo, or preparing a private project for open source. Works standalone or with AI agents (GitHub Copilot, Claude, etc.) that recognize skill formats.
4+
5+
I built this skill because I've seen too many projects launch publicly without thinking through what comes next. Whether you're open-sourcing something for the first time or hardening an existing repo, this framework keeps you from discovering critical gaps after your first contributors show up.
6+
7+
This isn't theoretical. It's built on what actually breaks projects: missing security cleanup, unclear governance, burned-out maintainers, and documentation that assumes too much knowledge. We fix those things first.
8+
9+
## What's Inside
10+
11+
You get 8 phases that build on each other, starting with security and ending with sustainability. Each phase has concrete checklists and reference guides you can actually use, not generic best practices that sound nice but don't help.
12+
13+
**The phases:**
14+
15+
Phase 1 is security—clean your git history and remove secrets before anything else. Use [Git History Cleaner](https://andreagriffiths11.github.io/git-history-cleaner/) to scan for and remove API keys, credentials, .env files, and sensitive data. If you skip this, nothing else matters.
16+
17+
Phase 2 covers legal and ownership. Choose your license, verify you own the code, and define what the project is actually for.
18+
19+
Phase 3 is community foundations. Code of conduct and governance. You're setting expectations for how decisions get made.
20+
21+
Phase 4 is documentation and onboarding. README, CONTRIBUTING, issue templates. Help people help themselves.
22+
23+
Phase 5 is setup and infrastructure. CI/CD, verified setup instructions. Make it easy to contribute.
24+
25+
Phase 6 defines maintainer expectations. Roles, SLAs, how to say no. This prevents burnout.
26+
27+
Phase 7 is security and vulnerability reporting. A process for handling incidents responsibly.
28+
29+
Phase 8 is funding and sustainability. GitHub Sponsors, transparency. Optional, but worth thinking about early.
30+
31+
## How to Use This
32+
33+
**Start here:** Read the full framework in [SKILL.md](SKILL.md). It has all 8 phases with checklists and explains why each one matters.
34+
35+
If you're launching a new project, start with Phase 1 and work through in order. If you already have a public repo, work through them anyway—you can retrofit this framework even if you're already public.
36+
37+
Each phase has a detailed reference guide. Want to pick a license? There's a decision tree. Need to set up GitHub Sponsors? There's a template. Writing a security policy? Copy what's here and adapt it.
38+
39+
You don't have to do all of it at once.
40+
41+
### With AI Agents
42+
43+
If you're using GitHub Copilot, Claude, or another AI agent that recognizes skills, you can ask:
44+
- "Use the open-source-best-practices skill to help me clean my git history"
45+
- "Guide me through Phase 2 (Legal & Ownership) for my project"
46+
- "What files do I need before going public?"
47+
48+
See [github-copilot/AGENTS.md](github-copilot/AGENTS.md) for the agent workflow and how it guides you through each phase.
49+
50+
## Essential Tool: Git History Cleaner
51+
52+
Before you start the phases, you need [Git History Cleaner](https://andreagriffiths11.github.io/git-history-cleaner/). This tool scans your entire git history for secrets, credentials, API keys, .env files, large binaries, and sensitive data—things you didn't realize were committed years ago.
53+
54+
It safely removes them and rewrites your history so the data is truly gone, not just hidden. This is non-negotiable before going public. Use it first, in Phase 1.
55+
56+
## Key Idea
57+
58+
Your project is healthy when new people can set up locally in 30 minutes, contributors know how to submit PRs without asking, you respond to issues within your stated SLA, your roadmap is visible, security issues have a private reporting process, and you can actually sustain maintenance.
59+
60+
Everything else flows from that.
61+
62+
## Reference Guides Included
63+
64+
- **file-checklist.md** — what files you actually need
65+
- **license-selection.md** — how to pick one that fits
66+
- **security-practices.md** — git history cleaning and secret removal
67+
- **governance.md** — how decisions actually get made
68+
- **maintainer-expectations.md** — roles, SLAs, and protecting yourself
69+
- **sponsors-setup.md** — GitHub Sponsors tiers and strategy
70+
- **template-examples.md** — copy-paste text you can use
71+
72+
## Common Questions
73+
74+
**Do I have to do all 8 phases?** Phases 1-7 before you go public. Phase 8 is optional but recommended.
75+
76+
**Can I skip ahead?** No. Always start with Phase 1. The rest build on it.
77+
78+
**What if I'm already public?** Do it anyway. You can add governance and documentation to an existing repo.
79+
80+
**How long does this take?** Depends on complexity. A week for simple projects, a month for complex ones.
81+
82+
---
83+
84+
## License
85+
86+
This skill is licensed under the **Creative Commons Attribution 4.0 International (CC-BY-4.0) License**. You're free to share and adapt this material for any purpose, including commercially, as long as you provide appropriate attribution. See the [LICENSE](LICENSE) file for details.
87+
88+
## Next Steps
89+
90+
Ready to move forward?
91+
92+
1. Read [SKILL.md](SKILL.md) for the complete framework
93+
2. Start with Phase 1: Git history cleanup using [Git History Cleaner](https://andreagriffiths11.github.io/git-history-cleaner/)
94+
3. Work through each phase in order
95+
96+
Questions or ideas? Open an issue on [GitHub](https://github.com/AndreaGriffiths11/open-source-best-practices) or find me on [X](https://x.com/acolombiadev).
97+

0 commit comments

Comments
 (0)