GrepDocs
One place to search, browse and edit documentation spread across many Git repositories.
- Status
- Backend API in active development
- Stack
- Go · chi · PostgreSQL · pgx · sqlc · Redis
- Links
- Source on GitHub
The problem
In most teams, documentation lives next to the code, in Markdown files spread across dozens of repositories. Finding the right page means knowing which repository it is in, and fixing a typo means cloning, branching and opening a pull request.
GrepDocs aims to be a single place to search and read that documentation, rendered, and to edit it in the browser, with changes committed back to the source repository.
Where it is now
The backend is a REST API in Go. Working today:
- Login with Google (OAuth2) and server-side sessions stored in Redis
- Linking GitHub accounts, more than one per user, and discovering their repositories
- A pluggable provider interface, so Bitbucket or GitLab can be added without touching GitHub-specific code
- Encryption at rest of provider access tokens with AES-256-GCM
Next come tracking repositories and indexing their documents, then full-text search, editing with commits back to Git, and a web UI.
Stack
- Go with the chi router
- PostgreSQL through pgx, with type-safe queries generated by sqlc and migrations managed by golang-migrate; no ORM
- Redis for server-side sessions
- Open source under the MIT license