Contributions are welcome. This project has zero external dependencies by design — please keep it that way.
git clone https://github.com/gyaan/knowledge-pipeline.git
cd knowledge-pipeline
cp .env_example .env
# Set ANTHROPIC_API_KEY or OPENAI_API_KEY in .env
go build ./...
go vet ./...- No external dependencies. Pure Go standard library only. No third-party packages.
- In-memory only. No external databases or disk persistence in the core pipeline.
- Standard Go layout. Keep
cmd/,internal/,pkg/conventions. - Backwards compatible config. New environment variables must have sensible defaults so existing
.envfiles keep working.
- Fork the repository and create a branch:
git checkout -b feature/your-feature - Make your changes
- Run checks before committing:
go build ./... go vet ./... go test ./... - Manually test with the server:
go run cmd/server/main.go curl http://localhost:8080/api/health
- Open a pull request against
master
- Implement the
LLMClientinterface ininternal/llm/(seeclaude.gooropenai.gofor the pattern) - Add the new provider to the switch statement in
cmd/server/main.go - Document the new environment variables in
README.mdand.env_example
Drop .txt files into any subdirectory of knowledge_base/. The loader picks up all files recursively. The category metadata is set from the top-level subdirectory name.
Use the issue templates — they help us understand and reproduce the problem faster.
By contributing, you agree that your contributions will be licensed under the MIT License.