Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)
Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
49 lines
1.1 KiB
Markdown
49 lines
1.1 KiB
Markdown
---
|
|
inclusion: auto
|
|
---
|
|
|
|
# OrgMyLife Standards
|
|
|
|
## Quality Gates (before every commit)
|
|
|
|
1. `gitleaks detect --source . --no-git` — no secrets in code
|
|
2. `ruff check .` — linting passes (if configured)
|
|
3. `pytest` — all tests pass
|
|
4. No hardcoded secrets in source
|
|
|
|
## Conventional Commits
|
|
|
|
```
|
|
feat(sync): add Gmail label filtering
|
|
fix(api): handle empty task list gracefully
|
|
test(digest): add test for overdue calculation
|
|
docs(spec): update component descriptions
|
|
```
|
|
|
|
## Testing
|
|
|
|
- pytest for unit and integration tests
|
|
- httpx TestClient for API endpoint tests
|
|
- Given-When-Then structure
|
|
- 80% coverage target for new code
|
|
|
|
## Autonomous Mode
|
|
|
|
- Never push directly to main — use feature branches
|
|
- Create PRs on GitHub targeting main
|
|
- If stuck after 3 attempts: stop and document
|
|
- Report: `PROGRESS: X%` / `HELP: description`
|
|
|
|
## Architecture
|
|
|
|
- FastAPI + SQLAlchemy + PostgreSQL
|
|
- Alembic for migrations
|
|
- MCP server for Kiro integration
|
|
- Sync services: Nextcloud (CalDAV/ToDo), Gmail (IMAP), Backlog.md
|
|
|
|
## Deployment
|
|
|
|
- Docker on VPS (https://api.andreknie.de)
|
|
- `docker compose up -d --build` for deploy
|
|
- .env file on VPS for secrets (not in repo)
|