🌐 Language / Язык: English | Русский
English 🇬🇧
🎯 Priority First
Code Revolver has one core mission: stable Codex account rotation under quota pressure.
Critical areas:
- 🧩 account lifecycle and profile integrity
- 📊 5-hour + weekly limit tracking
- 🔁 safe and deterministic switch logic
Secondary modules (Prompts, Skills, AGENTS, Config, Sync, Gateway) must not break rotation behavior.
🛠 Local Setup
- Node.js 18+
- Rust toolchain
npm install npm run tauri dev
🧭 Engineering Rules
- Keep PRs focused and small.
- Prefer explicit state transitions over implicit side effects.
- Avoid hidden data coupling between UI and backend.
- Add comments only where logic is genuinely non-obvious.
🌿 Branches and Commits
Recommended branch names:
feature/*fix/*refactor/*docs/*test/*
Commit style:
- concise and meaningful
- emoji prefix is welcome
- examples:
🐛 Fix duplicate profile entry after switch✨ Improve auto-switch candidate ranking docs
✅ Required Checks Before PR
Run all checks:
npm run lint npx tsc --noEmit npm run build npx vitest run cd src-tauri && cargo check
Manual validation checklist:
- Account import/add still works.
- Manual switch changes active profile correctly.
- Auto-switch behavior is correct if modified.
- Settings persist across restart.
🔐 Security
- Never commit real secrets or real auth tokens.
- Redact account IDs, emails, and sensitive logs.
- If sync behavior changes, explain risks and rollback path.
📝 PR Must Include
- What changed.
- Why it changed.
- User-visible impact.
- Risks and rollback steps.
- Test evidence.
🐞 Reporting
- Bug report: reproducible steps, expected vs actual, logs/screenshots.
- Feature request: clear use-case, acceptance criteria, tradeoffs.
Russian 🇷🇺
🎯 Приоритет
Главная цель проекта: стабильная ротация аккаунтов Codex под ограничениями квоты.
Критические зоны:
- 🧩 жизненный цикл аккаунтов и целостность профилей
- 📊 трекинг лимитов (5 часов + неделя)
- 🔁 безопасная и предсказуемая логика переключения
Вторичные модули (Prompts, Skills, AGENTS, Config, Sync, Gateway) не должны ломать основную ротацию.
🛠 Локальный запуск
- Node.js 18+
- Rust toolchain
npm install npm run tauri dev
🧭 Правила разработки
- Делайте PR узкими и понятными.
- Предпочитайте явные переходы состояния вместо неявных побочных эффектов.
- Не допускайте скрытой связности между UI и backend.
- Комментарии только для действительно сложной логики.
🌿 Ветки и коммиты
Рекомендуемые ветки:
feature/*fix/*refactor/*docs/*test/*
Стиль коммитов:
- коротко и по делу
- emoji-префикс приветствуется
- примеры:
🐛 Fix duplicate profile entry after switch✨ Improve auto-switch candidate ranking docs
✅ Обязательные проверки перед PR
Запустите все проверки:
npm run lint npx tsc --noEmit npm run build npx vitest run cd src-tauri && cargo check
Ручной чеклист:
- Добавление/импорт аккаунта работает.
- Ручное переключение корректно меняет активный профиль.
- Авто-переключение корректно, если вы его меняли.
- Настройки сохраняются после перезапуска.
🔐 Безопасность
- Никогда не коммитьте реальные секреты и токены.
- Редактируйте account ID, email и чувствительные логи.
- При изменении sync обязательно описывайте риски и план отката.
📝 Что обязательно в PR
- Что изменено.
- Зачем изменено.
- Что увидит пользователь.
- Риски и шаги отката.
- Подтверждение тестов.
🐞 Оформление задач
- Баг-репорт: шаги, ожидаемое/фактическое, логи/скриншоты.
- Фича: сценарий, критерии приёмки, компромиссы.