КАР-точки — open source для личного self-host: форк, деплой для себя и друзей, доработки в upstream. Спасибо, что заглянули!
- Прочитайте README.md и docs/USER-GUIDE.md
- Архитектура: docs/ARCHITECTURE.md · API: docs/API.md · слои: CLAUDE.md
- Установка:
npm install npm run typecheck # tsc --noEmit (+ extension) npm run dev # http://localhost:8080 — tsc emit + static server
- Тесты:
npm test· покрытие gates:npm run test:coverage· e2e:npm run test:e2e(нужен Chromium:npm run test:e2e:install) - Прод-сборка:
npm run build:bundle→dist/ - Расширение:
npm run ext:build→ load unpacked изextension/
- Исходники — TypeScript (
js/**/*.ts), в dev компилируютсяtscна место вjs/**/*.js(gitignored) - Dev — без бандлера: ESM из корня; prod — esbuild в
dist/ - Бэкенд API — Cloudflare Pages Functions (
functions/api/), не Netlify - UI-строки —
t()+js/lib/locales/{ru,en}.ts(см.npm run i18n:check)
- Исправления багов с воспроизведением
- UX / a11y
- Документация и переводы
- Тесты на
js/lib/иjs/data/ - Небольшие фичи из ROADMAP.md с обсуждением в Issue до большого PR
- Смена формата данных / схемы Supabase
- Новые тяжёлые зависимости
- Крупные фичи (Anki media/scheduling, коллаборация) — сначала Issue + набросок API
- Новый экран:
js/screens/<name>/index.ts+css/screens/<name>.css - Навигация только через
js/ui/navigation.ts(nav) - SRS-предикаты —
js/data/srs-query.ts+js/lib/srs.ts - Минимальный diff: не рефакторить «заодно»
- После изменения списка precache:
npm run sw:generateи bumpAPP_VERSIONвjs/core/version.ts www/— артефакт Capacitor; не правьте руками (npm run ios:prepare)
- Форк → ветка
feature/…илиfix/…(cloud-агенты используютcursor/…-8cec) - Зелёные:
npm run typecheck,npm run lint,npm run i18n:check,npm test - В описании: зачем, скрин/видео для UI, Test plan
- Одна логическая тема на PR
Версии приложения: APP_VERSION в js/core/version.ts.
GitHub Releases: тег v* (например v0.2.0) → workflow .github/workflows/release.yml берёт секцию из CHANGELOG.md.
# на main после merge:
git tag -a v0.2.0 -m "v0.2.0"
git push origin v0.2.0| Шаблон | Когда |
|---|---|
| Bug report | что-то сломалось |
| Feature request | идея или roadmap |
| Question | как настроить / как устроено |
- Язык: русский или английский
- Указывайте браузер, режим (local/cloud), шаги воспроизведения
- Мелкий fix — можно сразу PR
Участвуя, вы соглашаетесь, что вклад распространяется под MIT.