Multi-source CVE monitoring: React (Vite) + Express. Free public APIs only.
| Tree | Role |
|---|---|
src/ |
React UI |
server/ |
Express API |
shared/ |
API contract types (imported by both) |
tests/server/ |
API, middleware, services, notifications, DB (mock pool) |
tests/client/ |
Client unit tests (scanCache, export, icons, storage) |
tests/integration/ |
Air-gap HTTP mirrors (NVD pagination, scan fallback) |
tests/e2e/ |
Playwright E2E (CSV export) |
| Tree | Purpose | Serve |
|---|---|---|
extended-docs/ |
Canonical full docs (6 languages, glossary, Mermaid zoom, API Explorer) | make extended-docs-serve |
docs/ |
Legacy shorter MkDocs + self-hosted/ ops guides |
make docs-serve |
Optional catalog: agent/rules/, agent/skills/ (when committed). Install into Cursor:
npm run agent:install
# or: ./scripts/sync-agent-rules-skills.sh --to-cursorLocal-only copies may live under .cursor/ (gitignored).
Follow agent/skills/prd-extended-delivery and agent/skills/arvan-extended-docs:
- Chapters:
extended-docs/docs/content/{en,fa,ar,ru,zh,fr}/01-…10-….md - Hybrid prose + bullets per
structure-guide.md - Glossary tab:
extended-docs/docs/glossary.mdonly - Mermaid:
mermaid-visualizer→arvan-mermaid-diagrams(click zoom) - Persian:
arvan-persian-orthography/ ZWNJ where applicable - Rule:
agent/rules/extended-docs-cve.mdcwhen editingextended-docs/ - Doc sync:
agent/rules/code-to-docs-sync.mdc— auto-update extended-docs (×6), glossary, legacy docs when code changes - README locales:
agent/rules/readme-locale-sync.mdc— keepREADME.md+README.{fa,ar,ru,zh,fr}.mdstructurally identical; verify withscripts/check-readme-locale-sync.sh - Verify:
make extended-docs-checkandscripts/check-extended-docs-locale-sync.sh
src/i18n/messages/*.ts — update all six locales for new UI strings.
- Never commit
.envor API keys. - GitHub Actions secret names:
.github/ACTIONS-SECRETS.md· CI/CD map:.github/CI-CD.md - Product changes → sync extended-docs all locales + i18n messages.
- Cross-cutting rule:
agent/rules/cross-cutting-changes.mdc— Docker, docs, OpenAPI, i18n, tests, andCHANGELOG.md[Unreleased]must stay in sync with code changes. - PR gate:
agent/rules/pr-ready-ci-changelog.mdc— green CI/CD before opening a PR; every merge updates[Unreleased](no version bump in PR).
make check
make extended-docs-checkReusable .prompt.yml configs live in .github/prompts/. After push they appear under Models → Prompts on GitHub. Use for onboarding, CVE action briefs, scan-error diagnosis, API security review, and i18n drafts. CLI: gh models run / gh models eval (see GitHub docs).