Thanks for your interest in improving enowx-rag — a per-project RAG memory skill and MCP server for AI coding agents. Contributions of all sizes are welcome, from typo fixes to new vector-store providers.
- Report a bug — open an issue with steps to reproduce, expected vs actual behavior, and your config (vector store, embedder, OS).
- Suggest a feature — open an issue describing the use case before writing code, so we can agree on the approach.
- Pick up a
good first issue— issues labeled this way are scoped for newcomers and have context in the description. - Improve docs — the README, skill guide, and
docs/are all fair game.
The server is a Go module under mcp-server/ with an embedded React SPA under
mcp-server/web/.
# Prerequisites: Go 1.26+, Node 20+, (optional) Docker for local Qdrant/TEI
git clone https://github.com/enowdev/enowx-rag.git
cd enowx-rag/mcp-server
# Build everything (frontend + Go binary)
make build # from repo root: builds web/dist then the binary
# Run the test suite
go test ./...To run the server with the web dashboard locally:
# Local backend (no API key needed)
docker compose up -d qdrant tei-embedding
RAG_VECTOR_STORE=qdrant RAG_EMBEDDER=tei \
RAG_QDRANT_URL=http://localhost:6333 RAG_TEI_URL=http://localhost:8081 \
./enowx-rag --serve
# then open http://localhost:7777See the README for the full list of environment variables.
Before opening a PR, please make sure:
-
go build ./...andgo test ./...pass undermcp-server/ -
npm run buildpasses undermcp-server/web/(if you touched the SPA) - New behavior has a test that locks it in
- Commit messages are descriptive (we follow
type: summary, e.g.fix:,feat:,docs:,test:) - You've run
go vet ./...
Keep PRs focused — one logical change per PR is much easier to review.
- Go: standard
gofmt; match the surrounding code's naming and comment density. Therag.Providerinterface is the contract for vector stores — new backends implement it (and optionallyHybridSearcher,Reranker). - TypeScript/React: follow the existing component structure under
web/src/. Keep the true-black flat design tokens instyles/tokens.css.
Please do not open a public issue for security vulnerabilities. See SECURITY.md for how to report them privately.
This project follows the Contributor Covenant. By participating, you agree to uphold it.
By contributing, you agree that your contributions will be licensed under the Apache License 2.0 that covers this project.