{"id":29175759,"url":"https://github.com/hackico-ai/ruby-hati-rails-api","last_synced_at":"2026-04-25T08:35:44.683Z","repository":{"id":301437093,"uuid":"1009246617","full_name":"hackico-ai/ruby-hati-rails-api","owner":"hackico-ai","description":"Turbokit is a batteries-included tool for quickly scaffolding Rails APIs with good defaults.","archived":false,"fork":false,"pushed_at":"2025-09-24T07:32:35.000Z","size":63,"stargazers_count":28,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-13T10:47:35.514Z","etag":null,"topics":["ruby","ruby-on-rails"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hackico-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-26T20:18:45.000Z","updated_at":"2026-01-09T08:14:26.000Z","dependencies_parsed_at":"2025-06-26T22:40:19.777Z","dependency_job_id":"f38d194e-0b90-42f3-99e7-b702e10277ae","html_url":"https://github.com/hackico-ai/ruby-hati-rails-api","commit_stats":null,"previous_names":["hackico-ai/ruby-hati-rails-api","hackico-ai/hati-rails-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hackico-ai/ruby-hati-rails-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackico-ai%2Fruby-hati-rails-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackico-ai%2Fruby-hati-rails-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackico-ai%2Fruby-hati-rails-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackico-ai%2Fruby-hati-rails-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackico-ai","download_url":"https://codeload.github.com/hackico-ai/ruby-hati-rails-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackico-ai%2Fruby-hati-rails-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32255654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T04:23:17.126Z","status":"ssl_error","status_checked_at":"2026-04-25T04:21:53.360Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ruby","ruby-on-rails"],"created_at":"2025-07-01T16:09:22.325Z","updated_at":"2026-04-25T08:35:44.667Z","avatar_url":"https://github.com/hackico-ai.png","language":"Ruby","readme":"# Hati Rails API\n\n[![Gem Version](https://badge.fury.io/rb/hati-rails-api.svg)](https://rubygems.org/gems/hati-rails-api)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](#license)\n\n**Migration-driven Rails API development for the AI era.**\n\nHati Rails API revolutionizes Rails API development by treating your entire API structure as versioned, repeatable, and rollbackable code. Built specifically for AI-assisted development, it enables developers and AI agents to collaborate on building robust, scalable Rails APIs with confidence.\n\n---\n\n### Migration-Driven Architecture\n\n- **API as Code** — Your entire API structure lives in versioned migration files\n- **Instant Rollback** — Safely experiment knowing you can revert any change\n- **Pattern Consistency** — Enforce architectural patterns across your entire API\n\n### AI-Native Design\n\n- **Machine-Readable** — Every pattern is explicit and declarative for optimal AI collaboration\n- **Predictable Structure** — AI tools understand and generate consistent code\n- **Safe Experimentation** — AI can try new patterns with instant rollback capability\n\n### Rails-Native Integration\n\n- **Rails Conventions** — Follows Rails patterns throughout\n- **ActiveRecord Integration** — Seamless database layer integration\n- **Familiar Generators** — Uses Rails generator patterns you already know\n\n---\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n  - [1. Install](#1-install)\n  - [2. Initialize](#2-initialize)\n  - [3. Create Migration](#3-create-migration)\n  - [4. Generate Code](#4-generate-code)\n- [Architecture Overview](#architecture-overview)\n- [Core Concepts](#core-concepts)\n  - [Migration Files](#migration-files)\n  - [Generated Structure](#generated-structure)\n  - [Rollback System](#rollback-system)\n- [Framework Components](#framework-components)\n- [AI-Powered Bootstrapping](#ai-powered-bootstrapping)\n  - [Intelligent Project Initialization](#intelligent-project-initialization)\n  - [Context-Aware Feature Addition](#context-aware-feature-addition)\n  - [Automated Testing Strategy Generation](#automated-testing-strategy-generation)\n  - [Deployment Configuration Generation](#deployment-configuration-generation)\n  - [AI Agent Tool Integration](#ai-agent-tool-integration)\n- [Examples](#examples)\n  - [Basic User API](#basic-user-api)\n  - [E-commerce API with AI Features](#e-commerce-api-with-ai-features)\n  - [Advanced Patterns](#advanced-patterns)\n- [Use Cases](#use-cases)\n- [Testing](#testing)\n- [Authors](#authors)\n- [Development](#development)\n- [Contributing](#contributing)\n- [License](#license)\n- [Code of Conduct](#code-of-conduct)\n\n---\n\n## Quick Start\n\n### 1. Install\n\n```ruby\n# Gemfile\ngem 'hati-rails-api'\n```\n\n```bash\nbundle install\n```\n\n### 2. Initialize\n\n```bash\nrails generate hati_rails_api:context init\n```\n\n### 3. Create Migration\n\n```bash\nrails generate hati_rails_api:context user --operations=create,update,delete\n```\n\n### 4. Generate Code\n\n```bash\nrails generate hati_rails_api:context run --force\n```\n\n---\n\n## Architecture Overview\n\nHati Rails API introduces a migration-driven approach where your entire API structure is defined in versioned migration files that generate complete, consistent code structures.\n\n```\n┌─────────────────────────────────────────────────────────────────────────────────┐\n│                          Hati Rails API Architecture                            │\n├─────────────────────────────────────────────────────────────────────────────────┤\n│                                                                                 │\n│  Migration Files (config/contexts/)          Generated API Structure            │\n│  ┌─────────────────────────────────┐       ┌─────────────────────────────────┐  │\n│  │                                 │       │                                 │  │\n│  │  20250121001327_user_api.rb     │       │  Controllers                    │  │\n│  │  ┌─────────────────────────────┐│       │  ├─ Api::UserController         │  │\n│  │  │ domain :user do |domain|    ││  ───▶ │  ├─ Api::OrderController        │  │\n│  │  │   domain.operation [...]    ││       │  └─ Api::ProductController      │  │\n│  │  │   domain.endpoint true      ││       │                                 │  │\n│  │  │   domain.model true         ││       │  Operations                     │  │\n│  │  │ end                         ││       │  ├─ User::Create                │  │\n│  │  └─────────────────────────────┘│       │  ├─ User::Update                │  │\n│  │                                 │       │  └─ User::Delete                │  │\n│  │  20250121001328_order_api.rb    │       │                                 │  │\n│  │  ┌─────────────────────────────┐│       │  Models                         │  │\n│  │  │ domain :order do |domain|   ││       │  ├─ User                        │  │\n│  │  │   domain.operation [...]    ││       │  ├─ Order                       │  │\n│  │  │   domain.service [...]      ││       │  └─ Product                     │  │\n│  │  │ end                         ││       │                                 │  │\n│  │  └─────────────────────────────┘│       │  Services                       │  │\n│  └─────────────────────────────────┘       │  ├─ PaymentService              │  │\n│                                            │  ├─ NotificationService         │  │\n│  Rollback System                           │  └─ InventoryService            │  │\n│  ┌─────────────────────────────────┐       │                                 │  │\n│  │  Migration Tracking             │       │  Validations                    │  │\n│  │  ├─ Timestamp: 20250121001327   │       │  ├─ UserValidator               │  │\n│  │  ├─ Files Generated: 15         │       │  ├─ OrderValidator              │  │\n│  │  ├─ Rollback Command Available  │       │  └─ PaymentValidator            │  │\n│  │  └─ Status: Applied             │       │                                 │  │\n│  └─────────────────────────────────┘       └─────────────────────────────────┘  │\n│                                                                                 │\n├─────────────────────────────────────────────────────────────────────────────────┤\n│  Key Features                                                                   │\n│  • Migration-Driven Architecture    • AI-Native Design                          │\n│  • Instant Rollback Capabilities    • Rails Convention Compliance               │\n│  • Pattern Consistency Enforcement  • Comprehensive Test Generation             │\n└─────────────────────────────────────────────────────────────────────────────────┘\n```\n\n## Core Concepts\n\n### Migration Files\n\nDefine your API structure in timestamped migration files:\n\n```ruby\n# config/contexts/20250121001327_create_user_api.rb\nclass CreateUserApi \u003c HatiRailsApi::Context::Migration\n  def change\n    domain :user do |domain|\n      domain.operation do |operation|\n        operation.component [:create, :update, :delete]\n      end\n      domain.endpoint true\n      domain.model true\n      domain.validation\n      domain.service\n    end\n  end\nend\n```\n\n### Generated Structure\n\nThis creates a complete API structure:\n\n```\napp/\n├── contexts/user/\n│   ├── operation/\n│   │   ├── create_operation.rb\n│   │   ├── update_operation.rb\n│   │   └── delete_operation.rb\n│   ├── validation/\n│   └── service/\n├── controllers/api/\n│   └── user_controller.rb\n└── models/\n    └── user.rb\n```\n\n### Rollback System\n\nEvery migration is tracked and can be safely rolled back:\n\n```bash\nrails generate hati_rails_api:context rollback --timestamp=20250121001327\n```\n\n---\n\n## Framework Components\n\n\u003ctable\u003e\n\u003ctr\u003e\n  \u003cth width=\"20%\"\u003eComponent\u003c/th\u003e\n  \u003cth width=\"25%\"\u003ePurpose\u003c/th\u003e\n  \u003cth width=\"35%\"\u003eKey Features\u003c/th\u003e\n  \u003cth width=\"20%\"\u003eBenefits\u003c/th\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n  \u003ctd\u003e\u003cstrong\u003eContext System\u003c/strong\u003e\u003c/td\u003e\n  \u003ctd\u003eDomain organization and structure definition\u003c/td\u003e\n  \u003ctd\u003e\n    • Domain-driven organization\u003cbr\u003e\n    • Migration-based definitions\u003cbr\u003e\n    • Custom layer support\u003cbr\u003e\n    • Extensible architecture\n  \u003c/td\u003e\n  \u003ctd\u003e\n    • Centralized domain logic\u003cbr\u003e\n    • Clear boundaries\u003cbr\u003e\n    • Scalable structure\u003cbr\u003e\n    • Easy customization\n  \u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n  \u003ctd\u003e\u003cstrong\u003eMigration Engine\u003c/strong\u003e\u003c/td\u003e\n  \u003ctd\u003eVersion control for API structure\u003c/td\u003e\n  \u003ctd\u003e\n    • Timestamped migrations\u003cbr\u003e\n    • Class-based definitions\u003cbr\u003e\n    • Rollback support\u003cbr\u003e\n    • Change tracking\n  \u003c/td\u003e\n  \u003ctd\u003e\n    • Repeatable deployments\u003cbr\u003e\n    • Safe evolution\u003cbr\u003e\n    • Version history\u003cbr\u003e\n    • Team collaboration\n  \u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n  \u003ctd\u003e\u003cstrong\u003eLayer System\u003c/strong\u003e\u003c/td\u003e\n  \u003ctd\u003eModular architecture components\u003c/td\u003e\n  \u003ctd\u003e\n    • Operations (business logic)\u003cbr\u003e\n    • Services (integrations)\u003cbr\u003e\n    • Validations (input rules)\u003cbr\u003e\n    • Queries (data retrieval)\u003cbr\u003e\n    • Serializers (formatting)\n  \u003c/td\u003e\n  \u003ctd\u003e\n    • Clean separation\u003cbr\u003e\n    • Modular design\u003cbr\u003e\n    • Easy testing\u003cbr\u003e\n    • Reusable components\n  \u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n  \u003ctd\u003e\u003cstrong\u003eResponse Handler\u003c/strong\u003e\u003c/td\u003e\n  \u003ctd\u003eConsistent API responses\u003c/td\u003e\n  \u003ctd\u003e\n    • JSON:API compliance\u003cbr\u003e\n    • Standardized formatting\u003cbr\u003e\n    • Error handling\u003cbr\u003e\n    • Type safety\n  \u003c/td\u003e\n  \u003ctd\u003e\n    • Consistent interfaces\u003cbr\u003e\n    • Clean error messages\u003cbr\u003e\n    • Predictable responses\u003cbr\u003e\n    • Better debugging\n  \u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n  \u003ctd\u003e\u003cstrong\u003eRollback Manager\u003c/strong\u003e\u003c/td\u003e\n  \u003ctd\u003eSafe change management\u003c/td\u003e\n  \u003ctd\u003e\n    • File tracking\u003cbr\u003e\n    • Safe removal\u003cbr\u003e\n    • Directory cleanup\u003cbr\u003e\n    • State management\n  \u003c/td\u003e\n  \u003ctd\u003e\n    • Risk-free experimentation\u003cbr\u003e\n    • Clean rollbacks\u003cbr\u003e\n    • No orphaned files\u003cbr\u003e\n    • Reliable state\n  \u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## AI-Powered Bootstrapping\n\n### Intelligent Project Initialization\n\nHati Rails API enables AI agents to bootstrap entire projects based on high-level requirements:\n\n```ruby\n# AI can generate this from: \"Create an e-commerce API with user management,\n# product catalog, and order processing\"\nclass BootstrapEcommerceApi \u003c HatiRailsApi::Context::Migration\n  def change\n    # User management domain\n    domain :user do |domain|\n      domain.operation do |operation|\n        operation.component [:register, :authenticate, :update_profile]\n      end\n      domain.endpoint true\n      domain.model true\n      domain.validation { |v| v.component [:email_validator, :password_validator] }\n      domain.service { |s| s.component [:auth_service, :profile_service] }\n    end\n\n    # Product catalog domain\n    domain :product do |domain|\n      domain.operation do |operation|\n        operation.component [:create, :update, :search, :categorize]\n      end\n      domain.endpoint true\n      domain.model true\n      domain.query { |q| q.component [:product_finder, :category_filter] }\n      domain.service { |s| s.component [:inventory_service, :pricing_service] }\n    end\n\n    # Order processing domain\n    domain :order do |domain|\n      domain.operation do |operation|\n        operation.component [:create, :process_payment, :fulfill, :cancel]\n        operation.step true, granular: true\n      end\n      domain.endpoint true\n      domain.model true\n      domain.validation { |v| v.component [:payment_validator, :inventory_validator] }\n      domain.service { |s| s.component [:payment_gateway, :shipping_service] }\n    end\n\n    # Additional models and endpoints\n    model [:cart, :payment, :shipping_address, :order_item]\n    endpoint [:order_status, :payment_webhook, :inventory_alert]\n  end\nend\n```\n\n### Context-Aware Feature Addition\n\nAI agents can analyze existing migrations and add complementary features:\n\n```ruby\n# AI analyzes existing user and product domains, then adds:\nclass AddRecommendationSystem \u003c HatiRailsApi::Context::Migration\n  def change\n    domain :recommendation do |domain|\n      domain.operation do |operation|\n        operation.component [:generate_recommendations, :track_interactions, :update_preferences]\n      end\n      domain.service do |service|\n        service.component [:ml_engine, :preference_analyzer, :collaborative_filter]\n      end\n      domain.query { |q| q.component [:recommendation_finder, :interaction_tracker] }\n    end\n\n    # Extend existing domains with recommendation capabilities\n    extend_domain :user do |domain|\n      domain.service { |s| s.add_component :recommendation_service }\n    end\n\n    extend_domain :product do |domain|\n      domain.query { |q| q.add_component :recommendation_query }\n    end\n  end\nend\n```\n\n### Automated Testing Strategy Generation\n\nAI can generate comprehensive testing strategies based on the migration structure:\n\n```ruby\n# AI generates test migrations alongside feature migrations\nclass GenerateTestingInfrastructure \u003c HatiRailsApi::Context::Migration\n  def change\n    testing_domain :api_integration do |domain|\n      domain.test_suite do |suite|\n        suite.component [:endpoint_tests, :authentication_tests, :authorization_tests]\n        suite.coverage :comprehensive\n        suite.mock_external_services true\n      end\n    end\n\n    testing_domain :performance do |domain|\n      domain.benchmark do |benchmark|\n        benchmark.component [:response_time, :throughput, :memory_usage]\n        benchmark.scenarios [:normal_load, :peak_load, :stress_test]\n      end\n    end\n  end\nend\n```\n\n### Deployment Configuration Generation\n\nAI can create deployment configurations based on the API structure:\n\n```ruby\nclass GenerateDeploymentConfig \u003c HatiRailsApi::Context::Migration\n  def change\n    deployment_domain :infrastructure do |domain|\n      domain.container do |container|\n        container.component [:api_service, :background_jobs, :database]\n        container.scaling :auto\n        container.health_checks true\n      end\n\n      domain.monitoring do |monitoring|\n        monitoring.component [:metrics, :logging, :alerting]\n        monitoring.dashboards [:api_performance, :business_metrics, :error_tracking]\n      end\n    end\n  end\nend\n```\n\n### AI Agent Tool Integration\n\nEnable AI agents to modify and extend APIs autonomously:\n\n```ruby\nclass CreateAgentToolsApi \u003c HatiRailsApi::Context::Migration\n  def change\n    domain :agent_tools do |domain|\n      # Safe database operations for AI agents\n      domain.operation do |operation|\n        operation.component [:safe_query, :safe_update, :analyze_data]\n        operation.safety_checks true\n        operation.audit_logging true\n      end\n\n      # AI agent capabilities\n      domain.service do |service|\n        service.component [:query_builder, :data_analyzer, :report_generator]\n        service.rate_limiting true\n        service.permission_checking true\n      end\n\n      domain.validation { |v| v.component [:query_validator, :safety_checker] }\n    end\n\n    # Audit trail for AI operations\n    model [:agent_operation_log, :safety_check_result, :permission_audit]\n  end\nend\n```\n\n---\n\n## Examples\n\n### Basic User API\n\n```ruby\nclass CreateUserApi \u003c HatiRailsApi::Context::Migration\n  def change\n    domain :user do |domain|\n      domain.operation do |operation|\n        operation.component [:create, :authenticate, :update_profile]\n      end\n      domain.endpoint true\n      domain.model true\n      domain.validation\n      domain.serializer\n    end\n  end\nend\n```\n\n### E-commerce API with AI Features\n\n```ruby\nclass CreateEcommerceApi \u003c HatiRailsApi::Context::Migration\n  def change\n    domain :ecommerce do |domain|\n      # Core business operations\n      domain.operation do |operation|\n        operation.component [:checkout, :refund, :inventory_check]\n        operation.step true, granular: true\n      end\n\n      # AI-powered services\n      domain.service do |service|\n        service.component [:recommendation_engine, :fraud_detector]\n      end\n\n      domain.endpoint true\n      domain.model true\n      domain.validation { |v| v.component [:payment_validator] }\n    end\n\n    model [:product, :order, :payment]\n    endpoint [:order_status, :payment_webhook]\n  end\nend\n```\n\n### Advanced Patterns\n\n```ruby\n# Custom layers\ndomain.analytics do |analytics|\n  analytics.component [:event_tracker, :report_generator]\nend\n\n# Explicit steps\ndomain.operation do |operation|\n  operation.component [:register]\n  operation.step :validate, :persist, :notify\nend\n\n# Granular steps (uses all domain layers as steps)\ndomain.operation do |operation|\n  operation.step true, granular: true\nend\n```\n\n---\n\n## Use Cases\n\n| Use Case                           | Perfect For                                                             | Key Benefits                                                                                                                                                          |\n| ---------------------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **✅ Enterprise API Development**  | Fortune 500 companies, large dev teams, complex business domains        | • Enforced architectural patterns\u003cbr\u003e• Version control for API structure\u003cbr\u003e• Safe production rollbacks\u003cbr\u003e• Consistent testing patterns                              |\n| **✅ Rapid Prototyping**           | Startups, MVPs, proof-of-concepts, hackathons                           | • Generate complete APIs in minutes\u003cbr\u003e• Safe architectural experimentation\u003cbr\u003e• Instant rollback of failed experiments\u003cbr\u003e• Focus on business logic over boilerplate |\n| **✅ AI-Assisted Development**     | Teams using Cursor, Copilot, or custom AI agents                        | • Machine-readable API definitions\u003cbr\u003e• Safe AI experimentation environment\u003cbr\u003e• Consistent patterns AI can learn\u003cbr\u003e• Version control for AI changes                 |\n| **✅ Microservices Architecture**  | Distributed systems, cloud-native apps, service mesh architectures      | • Standardized service structure\u003cbr\u003e• Consistent inter-service communication\u003cbr\u003e• Unified testing strategies\u003cbr\u003e• Easy pattern replication                            |\n| **✅ Legacy System Modernization** | Enterprise modernization, technical debt reduction, gradual refactoring | • Incremental migration safety\u003cbr\u003e• Modern patterns alongside legacy code\u003cbr\u003e• Safe architectural experimentation\u003cbr\u003e• Clear old/new system separation                |\n\n---\n\n## Testing\n\nComprehensive test suites are generated for all components:\n\n```ruby\n# Generated operation test\nRSpec.describe User::Operation::Create do\n  describe \"#call\" do\n    it \"creates user with valid params\" do\n      result = described_class.call(valid_user_params)\n\n      expect(result).to be_success\n      expect(result.value).to be_a(User)\n    end\n  end\nend\n\n# Generated controller test\nRSpec.describe Api::UserController do\n  describe \"POST /api/users\" do\n    it \"creates user and returns JSON response\" do\n      post \"/api/users\", params: valid_params\n\n      expect(response).to have_http_status(:created)\n      expect(json_response[\"data\"][\"type\"]).to eq(\"user\")\n    end\n  end\nend\n```\n\n## Authors\n\n- [Marie Giy](https://github.com/mariegiy)\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/hackico-ai/hati-command. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/hackico-ai/hati-command/blob/main/CODE_OF_CONDUCT.md).\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n\n## Code of Conduct\n\nEveryone interacting in the HatCommand project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/hackico-ai/hati-command/blob/main/CODE_OF_CONDUCT.md).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackico-ai%2Fruby-hati-rails-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackico-ai%2Fruby-hati-rails-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackico-ai%2Fruby-hati-rails-api/lists"}