Skip to content

feat(config): add Sass, Bun, Vite, and test framework options#6

Merged
dpaluy merged 4 commits intomasterfrom
support/vite
Nov 23, 2025
Merged

feat(config): add Sass, Bun, Vite, and test framework options#6
dpaluy merged 4 commits intomasterfrom
support/vite

Conversation

@dpaluy
Copy link
Copy Markdown
Owner

@dpaluy dpaluy commented Nov 22, 2025

Summary

• Add support for Sass and None options to CSS framework selection
• Add Bun, Vite, and None options to JavaScript bundler selection with automatic setup
• Add test framework selection (Minitest/RSpec) with automatic RSpec post-action configuration
• Enhance CommandBuilder to support choice-level rails_flag for SELECT questions
• Version bump to 0.3.0

Key Changes

  • CSS Framework: New Sass option and None option (skip CSS) with appropriate Rails flags
  • JavaScript Bundler: New Bun, Vite (via vite_rails gem), and None options
  • Test Framework: New selection question with Minitest as default and RSpec as alternative
  • Post-Actions: Automatic setup for RSpec (bundle add + rails generate) and Vite (bundle add + vite install)
  • CommandBuilder Enhancement: Choice-level rails_flag support allows different flags per choice

Technical Details

  • Enhanced CommandBuilder.process_select for per-choice flag configuration
  • Backward compatible with existing configs using question-level flags
  • All tests pass (33 runs, 97 assertions, 0 failures)
  • RuboCop clean (no offenses)
  • CHANGELOG updated with comprehensive release notes

Test plan

  • Unit tests pass (33 runs, 97 assertions, 0 failures)
  • RuboCop linting passes (no offenses)
  • New test coverage for choice-level rails_flag feature
  • Manual testing of interactive prompts
  • Post-action execution verified for RSpec and Vite

Add support for additional CSS frameworks (Sass, None), JavaScript bundlers
(Bun, Vite via vite_rails, None), and explicit test framework selection
(Minitest/RSpec). Enhance CommandBuilder to support choice-level rails_flag
configuration for SELECT questions. Add automatic post-actions for RSpec and
Vite setup. Version bump to 0.3.0.

- Add Sass and None options to CSS framework selection
- Add Bun, Vite, and None options to JavaScript bundler selection
- Add test framework selection question (Minitest default, RSpec option)
- Enhance CommandBuilder.process_select for choice-level rails_flag support
- Add automatic RSpec setup post-action (bundle add + generate rspec:install)
- Add automatic Vite setup post-action (bundle add vite_rails + vite install)
- Comprehensive test coverage for choice-level flag feature
- All tests pass (33 runs, 97 assertions, 0 failures)
- RuboCop clean (no offenses)
Add new preset for modern frontend stack using Vite + Bundlebun.
Bundlebun packages Bun runtime as a gem for unified dependency
management via Bundler.

- Add bundlebun post-action (disabled by default) for Bun users
- Create vite-bun.yaml preset with PostgreSQL, Tailwind, Vite, and Minitest
- Enable both setup_vite and setup_bundlebun post-actions in preset
- Update CHANGELOG with new preset and bundlebun post-action

Usage: railstart new myapp --preset vite-bun
Add comprehensive documentation for creating railstart preset files.
Guide covers YAML structure, ID-based merging, post-action
configuration, and step-by-step workflow for building new presets.

- Document three-layer configuration system (base → user → preset)
- List all available questions and post-actions with details
- Provide real-world examples (vite-bun, api-only, rspec presets)
- Include best practices, common patterns, and troubleshooting
- Add testing checklist and validation commands
- Remove /docs/ from .gitignore to track documentation

This enables LLMs and developers to confidently create new
preset configurations for team-specific or stack-specific Rails
app generation workflows.

build: exclude docs/ from gem package

Add docs/ to gemspec file exclusion list. Documentation files
in docs/ are for development/LLM guidance only and should not
be included in the distributed gem package.

- Add docs/ to spec.files reject list
- Verified with gem build: no docs/ files included
- Keeps gem package lean and focused on runtime files
Add comprehensive documentation section to README about creating
custom presets, with link to the preset builder skill guide.

Changes:
- Add "Creating Custom Presets" section to README with:
  - Quick preset creation example
  - List of built-in presets (default, api-only, vite-bun)
  - Link to skill guide at docs/railstart-preset-builder/SKILL.md

The skill file remains at its original location for LLM consumption.
The README provides user-facing quick intro and discovery.
@dpaluy dpaluy merged commit e14526a into master Nov 23, 2025
1 check passed
@dpaluy dpaluy deleted the support/vite branch November 23, 2025 00:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant