Версия: 1.0 | Последнее обновление: 27.10.2025
Технологии проекта: Технологический стек
- Ruby 3.4.2+
- PostgreSQL 13+
- Rails 8.1+
- Git
- Telegram Bot API токен
- Доступ к AI провайдерам (OpenAI/Anthropic/etc)
# 1. Клонирование и настройка
git clone <repository-url>
cd valera
# 2. Установка зависимостей
bundle install
rails db:create db:migrate
# 3. Создание тестовых данных
rails db:seed
# 4. Запуск сервера
rails server
# 5. Проверка работы
curl http://localhost:3000/api/v1/healthgit clone <repository-url>
cd valera# Установка gem'ов
bundle install
# Проверка версии
ruby -v # должно быть 3.4.2+
rails -v # должно быть 8.1+# Создание БД
rails db:create
# Миграции
rails db:migrate
# Заполнение начальными данными
rails db:seedВажно: Проект НЕ использует .env* файлы. Конфигурация управляется через:
- config/application.yml - Основная конфигурация
- config/database.yml - Настройки БД
- Environment variables - Для_sensitive данных
Пример конфигурации:
# config/application.yml
telegram:
bot_token: "YOUR_BOT_TOKEN"
ai:
provider: "openai"
api_key: "YOUR_API_KEY"
analytics:
enabled: true# Запуск всех тестов
bundle exec rspec
# Запуск конкретных тестов
bundle exec rspec spec/models/
# Покрытие тестами
bundle exec rspec --coverage- VS Code с расширением Ruby/Rails
- RubyMine (опционально)
- Postico или pgAdmin для работы с PostgreSQL
- Postman или Insomnia для тестирования API
Рекомендуемые расширения:
- Ruby
- Rails
- Ruby LSP
- PostgreSQL
# Проверка готовности к разработке
rails runner "
puts 'Ruby: ' + RUBY_VERSION
puts 'Rails: ' + Rails.version
puts 'Database: ' + ActiveRecord::Base.connection.adapter_name
puts 'Ready for development! ✅'
"# Все тесты
bundle exec rspec
# Быстрая проверка
bundle exec rspec --tag ~slow
# Конкретные файлы
bundle exec rspec spec/models/chat_spec.rb- ✅ Использовать Factory Bot для данных
- ❌ НЕ использовать
File.write,File.delete - ❌ НЕ изменять ENV переменные
- ❌ НЕ мокировать логирование
# Стиль кода
bundle exec rubocop
# Безопасность
bundle exec brakeman
# Покрытие кода
bundle exec rspec --simplecov# Включение аналитики для разработки
ANALYTICS_ENABLED=true rails server
# Проверка событий аналитики
rails runner "puts AnalyticsEvent.count.to_s"# Просмотр логов
tail -f log/development.log
# Структурированные ошибки
grep "ERROR" log/development.log# 1. Создать feature branch
git checkout -b feature/new-chat-functionality
# 2. Создать модель (если нужно)
rails generate model NewModel name:string
# 3. Написать тесты
touch spec/models/new_model_spec.rb
# 4. Реализовать функциональность
# ... код ...
# 5. Запустить тесты
bundle exec rspec
# 6. Проверить стиль кода
bundle exec rubocop
# 7. Коммит
git add .
git commit -m "Add new chat functionality"# Тестирование AI запросов
rails runner "
include LlmHelper
response = ask_ai('Hello, Super Valera!')
puts response
"# Запуск вебхука локально
ngrok http 3000
# Настройка webhook URL
rails runner "
Telegram.bot.set_webhook(url: 'https://your-ngrok-url.ngrok.io/telegram/webhook')
"# Решение: Проверить конфигурацию
rails db:migrate:statusРешение: Использовать temporary файлs через Rails.root.join("tmp")
Решение: Использовать ngrok для локального тестирования
- Технологический стек - Подробности о технологиях
- Руководство разработчика - Полное руководство
- Product Constitution - Требования к продукту
- Паттерны ErrorLogger - Обработка ошибок
- Проверить логи:
log/development.log - Запустить тесты:
bundle exec rspec - Проверить конфигурацию:
config/application.yml - Прочитать документацию: docs/
Готово к разработке! 🚀
Поддерживается: Development Team | Актуальность: 27.10.2025