From d7507edd0f836284560810a123b0c3943b6c3957 Mon Sep 17 00:00:00 2001 From: Jiri Manas Date: Sat, 10 Jan 2026 12:33:12 +0100 Subject: [PATCH] Add CLAUDE.md with project instructions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Git workflow: always use feature branches, never commit to main - Project structure documentation - Deployment and testing instructions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- CLAUDE.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..aa0f60f --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,55 @@ +# Claude Code Instructions + +## Git Workflow + +**IMPORTANT: Never commit directly to `main` branch.** + +- Always create a feature branch for any changes +- Branch naming: `feature/`, `fix/`, `chore/` +- Create a Pull Request for review before merging to main +- Run tests before pushing: `pytest tests/e2e/test_knowledge_creation_live.py` + +Example workflow: +```bash +git checkout -b feature/my-new-feature +# make changes +git add -A +git commit -m "Description of changes" +git push -u origin feature/my-new-feature +# Then create PR on GitHub +``` + +## Project Structure + +- `src/knowledge_base/` - Main application code +- `src/knowledge_base/slack/` - Slack bot handlers +- `tests/e2e/` - End-to-end tests +- `deploy/terraform/` - GCP infrastructure +- `docs/adr/` - Architecture Decision Records + +## Deployment + +The Slack bot is deployed on GCP Cloud Run: +- Project: `ai-knowledge-base-42` +- Region: `us-central1` +- Service: `slack-bot` + +To deploy after merging to main: +```bash +cd /home/coder/Devel/keboola/headless-knowledge-base +gcloud builds submit --project=ai-knowledge-base-42 --config=cloudbuild.yaml . +``` + +## Testing + +Run E2E tests with: +```bash +set -a && source .env.e2e && set +a +.venv/bin/python -m pytest tests/e2e/test_knowledge_creation_live.py -v +``` + +## Key Configuration + +- LLM Provider: Gemini (`gemini-2.0-flash`) +- Vector Store: ChromaDB on Cloud Run +- Database: Ephemeral DuckDB (analytics only)