You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**No external dependencies.** Pure Go standard library only. No third-party packages.
19
+
-**In-memory only.** No external databases or disk persistence in the core pipeline.
20
+
-**Standard Go layout.** Keep `cmd/`, `internal/`, `pkg/` conventions.
21
+
-**Backwards compatible config.** New environment variables must have sensible defaults so existing `.env` files keep working.
22
+
23
+
## Making changes
24
+
25
+
1. Fork the repository and create a branch: `git checkout -b feature/your-feature`
26
+
2. Make your changes
27
+
3. Run checks before committing:
28
+
```bash
29
+
go build ./...
30
+
go vet ./...
31
+
go test ./...
32
+
```
33
+
4. Manually test with the server:
34
+
```bash
35
+
go run cmd/server/main.go
36
+
curl http://localhost:8080/api/health
37
+
```
38
+
5. Open a pull request against `master`
39
+
40
+
## Adding a new LLM provider
41
+
42
+
1. Implement the `LLMClient` interface in `internal/llm/` (see `claude.go` or `openai.go` for the pattern)
43
+
2. Add the new provider to the switch statement in `cmd/server/main.go`
44
+
3. Document the new environment variables in `README.md` and `.env_example`
45
+
46
+
## Adding knowledge base content
47
+
48
+
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.
49
+
50
+
## Reporting issues
51
+
52
+
Use the [issue templates](https://github.com/gyaan/knowledge-pipeline/issues/new/choose) — they help us understand and reproduce the problem faster.
53
+
54
+
## License
55
+
56
+
By contributing, you agree that your contributions will be licensed under the [MIT License](LICENSE).
0 commit comments