- Ruby 3.2.5 (use rbenv or rvm)
- PostgreSQL 16
- Docker and docker-compose
- Git
-
Clone the repository
git clone <repository-url> cd galaxyGame
-
Set up Ruby environment
rbenv install 3.2.5 rbenv local 3.2.5 gem install bundler -
Install dependencies
bundle install
-
Set up the database
# Using Docker (recommended) docker-compose up -d db # Or using local PostgreSQL createdb galaxy_game_development createdb galaxy_game_test # Run migrations bin/rails db:create db:migrate db:seed
-
Start the development server
bin/rails server
# Run all tests
bundle exec rspec
# Run specific test file
bundle exec rspec spec/models/user_spec.rb
# Run with coverage
COVERAGE=true bundle exec rspec# Run RuboCop
bundle exec rubocop
# Run Brakeman (security)
bundle exec brakeman
# Run all quality checks
bundle exec rake qualityThe project includes docker-compose configuration for development:
# Start all services
docker-compose up
# Start only database
docker-compose up db
# Run tests in container
docker-compose exec web bundle exec rspec
# Access Rails console
docker-compose exec web bin/rails consolegalaxy_game/
├── app/ # Rails application code
│ ├── controllers/ # Web controllers
│ ├── models/ # Data models
│ ├── services/ # Business logic
│ ├── views/ # Templates
│ └── assets/ # Static assets
├── config/ # Rails configuration
├── db/ # Database schema and seeds
├── lib/ # Shared libraries
├── spec/ # Test suite
└── docs/ # Documentation
- Create blueprint JSON in
app/data/blueprints/ - Add operational data in
app/data/operational_data/ - Update relevant services and models
- Add tests in
spec/
- Update sphere models in
app/models/celestial_bodies/spheres/ - Modify terraforming logic in services
- Update simulation parameters
- Test with integration scenarios
- Modify pattern recognition in
app/services/ai_manager/ - Update mission profiles
- Test with various scenarios
- Validate economic impact
Ruby version conflicts
rbenv versions
rbenv local 3.2.5Database connection issues
# Check if PostgreSQL is running
pg_isready
# Reset database
RAILS_ENV=test bin/rails db:drop db:create db:migrateAsset compilation errors
# Clear asset cache
bin/rails assets:clean
bin/rails assets:precompile- Check existing documentation in
docs/ - Review test files for usage examples
- Check GitHub issues for known problems
- Ask in development discussions
See Contributing Guide for detailed contribution guidelines.