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.
47 lines
1.1 KiB
Markdown
47 lines
1.1 KiB
Markdown
---
|
|
inclusion: auto
|
|
---
|
|
|
|
# Projekt-KIQ-HP Standards
|
|
|
|
## Quality Gates (before every commit)
|
|
|
|
1. `gitleaks detect --source . --no-git` — no secrets in code
|
|
2. `npm run lint` — eslint passes
|
|
3. `npm run build` — vite build succeeds
|
|
4. `npm audit` — 0 vulnerabilities
|
|
|
|
## Conventional Commits
|
|
|
|
```
|
|
feat(landing): add new partner logo
|
|
fix(nav): correct mobile menu toggle
|
|
style(hero): adjust CTA button spacing
|
|
ci(deploy): add GitHub Actions workflow
|
|
```
|
|
|
|
## Autonomous Mode
|
|
|
|
- Never push directly to main — use feature branches
|
|
- Create PRs on GitHub targeting main
|
|
- If stuck after 3 attempts: stop and document
|
|
|
|
## Architecture
|
|
|
|
- React 19 + Vite 8 + React Router 7
|
|
- Express 5 backend (server/index.js) for contact form
|
|
- Nodemailer 9 for email notifications
|
|
- Static deployment via `vite build` → `dist/`
|
|
|
|
## File Naming
|
|
|
|
- All filenames OneDrive-safe (no brackets, no @, no special chars)
|
|
- Logo files: use hyphens, no `(1)` suffixes
|
|
- Assets: descriptive kebab-case names
|
|
|
|
## Security
|
|
|
|
- No SMTP credentials in source code
|
|
- Server reads config from environment variables
|
|
- All dependencies must pass `npm audit` with 0 vulnerabilities
|