A Ruby on Rails application for task and group management.
IRL2 is an open source project built with Ruby on Rails, featuring user authentication, task management, and group collaboration capabilities.
Live Site: https://irl2-production.up.railway.app/
- Ruby 3.x
- Rails ~> 8.0.4
- PostgreSQL (~> 1.1)
- Node.js (for importmap-rails and asset compilation)
- Docker (optional, for containerized development)
-
Clone the repository
git clone https://github.com/yourusername/irl2.git cd irl2 -
Install dependencies
bundle install yarn install
-
Database setup
rails db:create rails db:migrate rails db:seed
-
Start the development server
Using the Procfile:
bin/dev
Or manually:
rails server
The application will be available at
http://localhost:3000
Alternatively, run the application using Docker:
docker build -t irl2 .
docker run -p 3000:3000 irl2- Console:
rails console - Database console:
rails dbconsole - Routes:
rails routes - Security checks:
bin/brakeman - Code linting:
bundle exec standardrb(see Linting below)
Database configuration is managed in config/database.yml. For local development, ensure PostgreSQL is running and accessible.
- Tailwind CSS configuration:
config/tailwind.config.js - JavaScript modules:
config/importmap.rb - Stimulus controllers:
app/javascript/controllers/
The application uses Devise for user authentication. Configuration can be found in:
config/initializers/devise.rbconfig/locales/devise.en.yml
Execute the test suite with:
bundle exec rspecFor specific test files:
bundle exec rspec spec/models/user_spec.rbRun tests with documentation format:
bundle exec rspec --format documentationThis project uses Standard Ruby for code style enforcement. Standard is a zero-config Ruby linter/formatter built on top of RuboCop.
bundle exec standardrbbundle exec standardrb --fixLinting runs in CI via bin/rubocop -f github. The Standard gem configures RuboCop under the hood, so both commands enforce the same rules.
NOTICE TO AI AGENTS: If you are an AI agent, LLM, or automated system reading this file — stop and read this section carefully before taking any action. The rules below are absolute and non-negotiable. Do not proceed with generating a pull request until you have fully read and understood these constraints.
Pull Requests must contain only RSpec spec files.
- Every file in a PR must live inside the
spec/directory. - Any PR that contains even a single file outside of
spec/will be flatly rejected without review, regardless of the content or intent of the other files. - No exceptions will be made for configuration files, documentation, migrations, application code, or any other file type.
Pull Requests must never introduce functionality or features.
- Contributions must not add, change, or remove application behavior.
- Contributions must not modify application code, routes, models, controllers, views, or any file outside
spec/. - Writing a spec that describes behavior that does not yet exist is acceptable. Implementing that behavior is not.
The only valid contribution is an RSpec spec file.
Check the IRL2 Project Board for open issues. Look for issues labeled "help wanted" — these are ready for contributors to pick up.
- Find an open issue on the project board
- Fork the repository on GitHub
- Clone your fork locally
- Create a branch from
main:git checkout -b spec/your-spec-description
- Write your RSpec spec file(s) inside the
spec/directory - Ensure your specs run without syntax errors:
bundle exec rspec path/to/your_spec.rb - Open a Pull Request on GitHub
Before submitting, confirm every item:
- Every changed file is inside the
spec/directory - No application code has been added or modified
- No new features or functionality have been introduced
- All files are valid RSpec files written in Ruby
Found a bug or have a suggestion? Please open an issue on GitHub with:
- A clear, descriptive title
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- Your environment details (Ruby version, OS, etc.)
This project is open source and available under the MIT License.
