Using GitHub Issues as a content management system is a clever hack that many developers overlook. It's free, version-controlled, and comes with a built-in editing interface.
Why GitHub Issues?
Traditional CMS platforms come with overhead:
- Hosting costs - You need to pay for servers
- Maintenance - Security updates, backups, etc.
- Learning curve - Each CMS has its own quirks
GitHub Issues solves all of this:
- Free - No hosting costs
- Version controlled - Every edit is tracked
- Familiar interface - Markdown you already know
- API access - Easy to integrate with any frontend
How It Works
The system uses GitHub Labels as taxonomy:
| Label | Purpose |
|---|---|
| `type:review` | Article type |
| `state:published` | Publication status |
| `slug:xxx` | URL slug |
| `tag:xxx` | Content tags |
| `featured:yes` | Homepage feature |
Implementation
- Create labels for your taxonomy
- Write content in Issue body (Markdown + frontmatter)
- Fetch via GitHub API
- Parse and render in your frontend
Comparison with Alternatives
<!-- comparison -->| Solution | Cost | Setup | Flexibility |
|---|---|---|---|
| GitHub Issues | Free | Easy | High |
| Contentful | $$ | Medium | High |
| Strapi | Free* | Hard | Very High |
| WordPress | $ | Easy | Medium |
* Self-hosted
Conclusion
For small to medium sites, GitHub Issues CMS is hard to beat. You get version control, collaboration features, and zero hosting costs.