No description
  • Ruby 92.7%
  • Dockerfile 3.6%
  • Shell 3.2%
  • HTML 0.5%
Find a file Use this template
2026-03-18 18:28:47 +02:00
.forgejo/workflows initial commit 2026-03-18 18:28:47 +02:00
app initial commit 2026-03-18 18:28:47 +02:00
bin initial commit 2026-03-18 18:28:47 +02:00
bruno/rails-template-api initial commit 2026-03-18 18:28:47 +02:00
config initial commit 2026-03-18 18:28:47 +02:00
db initial commit 2026-03-18 18:28:47 +02:00
deploy initial commit 2026-03-18 18:28:47 +02:00
lib initial commit 2026-03-18 18:28:47 +02:00
log initial commit 2026-03-18 18:28:47 +02:00
public initial commit 2026-03-18 18:28:47 +02:00
script initial commit 2026-03-18 18:28:47 +02:00
scripts initial commit 2026-03-18 18:28:47 +02:00
spec initial commit 2026-03-18 18:28:47 +02:00
storage initial commit 2026-03-18 18:28:47 +02:00
tmp initial commit 2026-03-18 18:28:47 +02:00
vendor initial commit 2026-03-18 18:28:47 +02:00
.dockerignore initial commit 2026-03-18 18:28:47 +02:00
.env.example initial commit 2026-03-18 18:28:47 +02:00
.gitignore initial commit 2026-03-18 18:28:47 +02:00
.mise.toml initial commit 2026-03-18 18:28:47 +02:00
.rspec initial commit 2026-03-18 18:28:47 +02:00
.rubocop.yml initial commit 2026-03-18 18:28:47 +02:00
compose.yml initial commit 2026-03-18 18:28:47 +02:00
config.ru initial commit 2026-03-18 18:28:47 +02:00
Dockerfile initial commit 2026-03-18 18:28:47 +02:00
Gemfile initial commit 2026-03-18 18:28:47 +02:00
Gemfile.lock initial commit 2026-03-18 18:28:47 +02:00
lefthook.yml initial commit 2026-03-18 18:28:47 +02:00
package-lock.json initial commit 2026-03-18 18:28:47 +02:00
package.json initial commit 2026-03-18 18:28:47 +02:00
Rakefile initial commit 2026-03-18 18:28:47 +02:00
README.md initial commit 2026-03-18 18:28:47 +02:00

Rails 8 API Template

This repository is a production-oriented Rails API starter with JWT auth, JSON:API responses, Pundit policies, Bruno smoke coverage, and Forgejo automation.

Tooling

  • Trust the checked-in mise config once with mise trust .mise.toml
  • Install pinned tools with mise install
  • Install project dependencies with mise run setup
  • Run one-off commands with mise exec -- ...

Local Setup

  1. Copy .env.example to .env
  2. Trust the repo config with mise trust .mise.toml
  3. Install the pinned Ruby, Node, and Python versions with mise install
  4. Install gems, Bruno CLI, and Git hooks with mise run setup
  5. Start Postgres and the API with mise exec -- ruby scripts/compose.rb up -d db api
  6. Prepare the database with mise run db-prepare
  7. Seed a default admin with mise exec -- bundle exec rails db:seed

Common Commands

  • mise exec -- bundle exec rails server
  • mise run test
  • mise run lint
  • mise run bruno-smoke
  • mise exec -- ruby scripts/compose.rb down -v

Auth Endpoints

  • POST /api/v1/auth/sign_up
  • POST /api/v1/auth/sign_in
  • DELETE /api/v1/auth/sign_out
  • GET /api/v1/me
  • GET /api/v1/admin/ping

Automation