Блог Ресурсы О нас Поиск Темы
AI Development

Создаем приложение для карточек с GitHub SpecKit + VS Code Codex (Spec-Driven руководство)

Обновлено 15 октября 2025 г.

Категория: AI Development
Поделиться

SpecKit + Codex tutorial building a Flashcards app

В этом посте мы создадим локальное приложение для карточек, используя GitHub SpecKit + расширение Codex для VS Code. Мы пройдем весь процесс Spec-Driven Development от начала до конца: Спецификация → План → Задачи → Реализация.

Почему SpecKit для этого проекта? #why-speckit-for-this-project

Традиционный «вайб-кодинг» делает результаты расплывчатыми. SpecKit переворачивает сценарий: вы пишете четкую спецификацию, создаете технический план, разбиваете его на задачи и позволяете агенту реализовывать маленькие, тестируемые части в сотрудничестве с вами.

Предварительные требования #prerequisites

  • VS Code с расширением Codex (войдите под своей учетной записью ChatGPT).
  • Git, Python 3.11+ и uv (пакетный менеджер/лаунчер).
  • macOS, Linux или Windows (для лучшей работы Codex на Windows рекомендуется WSL).

Вывод терминала, показывающий успешную инициализацию SpecKit с интеграцией Codex

Публичный репозиторий: https://github.com/nicklaunches/flashcards-speckit

Установка Specify CLI #install-specify-cli

Постоянная установка (рекомендуется):

Терминал
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
specify check

Инициализация проекта с подключением к Codex #init-project-wired-to-codex

Создайте папку и инициализируйте SpecKit для Codex:

Терминал
mkdir flashcards-speckit && cd flashcards-speckit
specify init . --ai copilot
# Пользователи Windows могут добавить: --script ps

Откройте папку в VS Code и убедитесь, что панель Copilot авторизована.

Панель VS Code Copilot, показывающая успешный вход в систему

Установка ограничений: Конституция #set-guardrails-constitution

В чате Copilot выполните:

Copilot Chat
/speckit.constitution
Создай принципы, ориентированные на:
- вертикальные слайсы; 90% задач < 30 минут
- React + Next.js + TypeScript; SQLite через Drizzle
- модульные тесты для основной логики; Playwright smoke-тесты
- доступность (WCAG AA); бюджет производительности: First Load JS < 160KB
- оффлайн-фIRST (без внешних сервисов, все локально)

Это создаст/обновит файл конституции, которому должны следовать будущие шаги.

Созданный файл конституции

Написание спецификации (что и почему) #write-the-spec-what-and-why

Copilot Chat
/speckit.specify
Создай локальное, оффлайн-приложение для карточек для быстрых сессий обучения.

Пользовательские истории:
1) Как ученик, я могу создавать колоды (название и описание).
2) Я могу добавлять, редактировать и удалять карточки (лицо/оборот).
3) Я могу изучать колоду с потоком викторины (показать лицо → перевернуть → оценить Легко/Сложно).
4) Интервальные повторения: повышение/понижение карточек по сложности для повторного появления позже.
5) Поиск: фильтрация колод и карточек по тексту.
6) Данные хранятся локально; приложение работает без сети.
7) Хороший UX: горячие клавиши (J/K/Space), адаптивная верстка, темная тема.

Критерии приемки:
- CRUD сохраняется между сессиями
- Викторина показывает прогресс и точность
- Адаптивность под мобильные устройства и десктоп

Сосредоточьтесь на что/почему. Технические решения сохраните для следующего этапа.

Созданный файл спецификации

Создание технического плана (как) #create-the-technical-plan-how

Copilot Chat
/speckit.plan
Технологии и архитектура:
- Next.js + React + TypeScript; Tailwind для UI
- Файловая БД SQLite с Drizzle ORM; абстракция репозитория
- App Router; Server Actions для мутаций
- Модульные тесты: Vitest; E2E: Playwright (smoke-потоки)
- Утилита горячих клавиш; темная тема через CSS-переменные
- Код-сплиттинг страницы изучения; малый размер бандла

Это станет чертежом, по которому будет следовать Codex.

Созданный файл плана

Разбиение на задачи #break-it-into-tasks

Copilot Chat
/speckit.tasks

Ожидайте сгенерированный tasks.md с упорядоченными шагами, путями к файлам и заглушками тестов. Дополнительные проверки качества:

  • /speckit.clarify — уточнение недостаточно специфицированных моментов
  • /speckit.analyze — перекрестная проверка покрытия спецификации ↔ плана
  • /speckit.checklist — генерация чеклиста QA (например, «модульные тесты для английского языка»)

Реализация с помощью Codex #implement-with-codex

Copilot Chat
/speckit.implement

Codex следует tasks.md, чтобы создать каркас приложения, написать код и подключить тесты с вашим одобрением.

Codex реализует задачи в VS Code

Запуск и тестирование #run-and-test

Терминал
pnpm i
pnpm dev
# откройте http://localhost:3000

Как только вы выполните все задачи из плана: Попробуйте: создайте колоду → добавьте карточки → нажмите Study → используйте J/K/Space во время викторины.

Добавление интервальных повторений #add-spaced-repetition

Попросите Codex расширить функционал:

Copilot Chat
/speckit.tasks
Добавить планировщик:
- У каждой карточки есть бакет сложности (1..3)
- ЛЕГКО → +1 бакет (макс 3); СЛОЖНО → −1 (мин 1)
- Сессия берет больше из нижних бакетов
- Сохранять lastReviewed, nextDue

Затем снова запустите /speckit.implement.

Структура проекта
flashcards-speckit/
  .specify/          # спецификация, план, задачи, артефакты исследований
  .github/           # промпты/шаблоны, добавленные SpecKit
  app/               # маршруты и UI Next.js
  db/                # схема drizzle + сиды
  tests/             # модульные + e2e тесты
  README.md

Устранение неполадок #troubleshooting

  • Слэш-команды не появляются в меню Codex: убедитесь, что вы инициализировали с --ai codex, находитесь в корне проекта, и Codex CLI/расширение обновлено. Если отображается только /speckit.constitution, обновите инструменты и шаблоны; некоторые интеграции с агентами исправляются со временем.
  • Проверки агента не проходят: добавьте --ignore-agent-tools к specify init, чтобы пропустить проверки и все равно загрузить шаблоны.
  • Windows: Codex экспериментален на Windows — используйте WSL для наилучшего результата.

Следующие идеи #next-ideas

  • Импорт/экспорт колод в JSON
  • Поддержка Markdown на сторонах карточек
  • Карточки с изображениями
  • Серии и просмотр статистики
  • Умная колода «Изучить снова» с использованием nextDue

Источники #sources

Категория AI Development
Поделиться

Связанные публикации

Получайте последние идеи об ИИ прямо в свой почтовый ящик

Будьте в курсе последних тенденций, учебников и отраслевых идей. Присоединитесь к сообществу разработчиков, которые доверяют нашему информационному бюллетню.

Только новые аккаунты. Отправляя свой адрес электронной почты, вы согласны с нашей Политика конфиденциальности