Skip to content

Railstart 0.4.5 examples release#24

Merged
dpaluy merged 5 commits into
masterfrom
chore/examples
Apr 30, 2026
Merged

Railstart 0.4.5 examples release#24
dpaluy merged 5 commits into
masterfrom
chore/examples

Conversation

@dpaluy
Copy link
Copy Markdown
Owner

@dpaluy dpaluy commented Apr 30, 2026

Summary

  • Prepare the gem for 0.4.5 by bumping Railstart::VERSION, the lockfile path spec, and the changelog.
  • Track root AGENTS.md for project agent guidance while keeping it excluded from gem builds.
  • Add a copyable examples/ catalog with global config, API PostgreSQL, standard PostgreSQL, minimal SQLite, Vite/Bun, and template-action examples.
  • Keep the example catalog framework-neutral and remove the docs-only sample test coverage.

Release Notes

  • Version: 0.4.5
  • Changelog date: 2026-04-30
  • Tagging/publishing: not done in this PR; create the v0.4.5 tag after merge and release publication.

Verification

  • mise exec -- bundle exec rake test - 45 runs, 134 assertions, 0 failures, 0 errors, 0 skips
  • mise exec -- bundle exec rubocop - 21 files inspected, no offenses detected
  • mise exec -- ruby -Ilib exe/railstart version - Railstart v0.4.5
  • git diff --check
  • mise exec -- gem build railstart.gemspec --output /tmp/railstart-0.4.5.gem
  • Built gem metadata reports version 0.4.5, includes examples/, and excludes AGENTS.md

Note: gem build still emits the pre-existing warnings for file readability and duplicate homepage/source URI metadata.

dpaluy added 4 commits April 30, 2026 10:23
Track AGENTS.md for repo-local agent guidance while keeping it out of RubyGem packaging.

Because 0.4.4 is already released, this records the packaging change under Unreleased instead of altering the released 0.4.4 notes.

Constraint: v0.4.4 has already been released and must not be retagged or amended.

Rejected: Amend the 0.4.4 release commit | released history must remain stable.

Confidence: high

Scope-risk: narrow

Directive: Do not include AGENTS.md in spec.files; it is repository guidance, not runtime gem content.

Tested: mise exec -- ruby -e gemspec package exclusion check

Tested: mise exec -- bundle exec rubocop railstart.gemspec

Tested: git diff --check --cached

Tested: mise exec -- gem build railstart.gemspec --output /tmp/railstart-agents-check.gem

Tested: built gem metadata excludes AGENTS.md, .agents, .omx, and docs files

Not-tested: Publishing a new gem version
Add source-level example YAML overlays for common Railstart customization paths: global defaults, PostgreSQL API services, conventional PostgreSQL/RSpec apps, and Vite/Bun/RSpec apps. Keep them outside config/presets so they document reusable patterns without changing built-in preset resolution or default CLI behavior.

Constraint: v0.4.4 has already been released, so this must be a normal follow-up commit instead of an amend or retag.

Rejected: Promote every example to a built-in preset | examples should be copyable references, not new named runtime behavior.

Confidence: high

Scope-risk: narrow

Directive: Keep examples validated when changing the config schema or built-in question ids.

Tested: mise exec -- bundle exec ruby -Itest test/examples_test.rb

Tested: mise exec -- bundle exec rake test

Tested: mise exec -- bundle exec rubocop

Tested: mise exec -- gem build railstart.gemspec --output /tmp/railstart-examples-check.gem

Tested: built gem metadata includes examples/config.yml and examples/presets/*.yml
Replace the RSpec-oriented example presets with neutral app-shape examples that teach Railstart configuration without prescribing a test framework. Add an examples README, standard PostgreSQL, minimal SQLite, Vite/Bun, and template-action samples while keeping the API example.

Constraint: v0.4.4 is already released, so this must remain a follow-up commit and must not amend or retag the release.

Rejected: Keep RSpec examples as optional variants | the examples should avoid unnecessary ecosystem opinions.

Rejected: Promote examples to built-in presets | copyable examples are enough and do not change runtime preset resolution.

Confidence: high

Scope-risk: narrow

Directive: Keep examples framework-neutral unless a future example is explicitly about that integration.

Tested: mise exec -- bundle exec ruby -Itest test/examples_test.rb

Tested: mise exec -- bundle exec rake test

Tested: mise exec -- bundle exec rubocop

Tested: mise exec -- ruby -Ilib -e 'require "railstart"; Dir["examples/presets/*.yml"].sort.each { |path| config=Railstart::Config.load(user_path:nil,preset_path:path); answers=config["questions"].to_h { |q| v=case q["type"]; when "select" then (q["choices"].find { |c| c["default"] } || q["choices"].first)["value"]; when "multi_select" then q.fetch("default", []); when "yes_no" then q.fetch("default", false); else q["default"]; end; [q["id"], v] }; Railstart::CommandBuilder.build("example_app", config, answers) }'

Tested: mise exec -- gem build railstart.gemspec --output /tmp/railstart-examples-neutral-check.gem

Tested: built gem metadata includes examples/README.md, config.yml, and neutral preset examples without rspec-named files
Remove the example YAML validation test because the examples are documentation artifacts, not runtime behavior. Keeping this out of the test suite avoids turning sample preferences into product contracts while preserving the examples themselves.

Constraint: v0.4.4 is already released, so this must remain a follow-up commit and must not amend or retag the release.

Rejected: Keep a guard banning RSpec examples | documentation catalog preferences should be reviewed in docs, not enforced as runtime tests.

Confidence: high

Scope-risk: narrow

Directive: Test config behavior in lib/config and command-builder tests; review examples as docs unless they become built-in runtime presets.

Tested: mise exec -- bundle exec rake test

Tested: mise exec -- bundle exec rubocop

Tested: mise exec -- gem build railstart.gemspec --output /tmp/railstart-remove-examples-test-check.gem

Tested: built gem metadata still includes examples/README.md, config.yml, and preset examples
@dpaluy dpaluy changed the title chore/examples Prepare Railstart 0.4.5 examples release Apr 30, 2026
@dpaluy dpaluy changed the title Prepare Railstart 0.4.5 examples release Railstart 0.4.5 examples release Apr 30, 2026
Cut a follow-up release for the copyable example catalog and tracked agent guidance added after v0.4.4. The changelog now records those notes under 0.4.5 and the gem version metadata is aligned with the release target.

Constraint: v0.4.4 was already released, so this release prep must remain on the PR branch without amending or retagging the old release commit.

Rejected: Leave examples under Unreleased | the PR is being prepared as version 0.4.5.

Confidence: high

Scope-risk: narrow

Directive: Do not move v0.4.4; tag 0.4.5 only after this PR is merged and the release is actually published.

Tested: mise exec -- bundle exec rake test

Tested: mise exec -- bundle exec rubocop

Tested: mise exec -- ruby -Ilib exe/railstart version

Tested: git diff --check

Tested: mise exec -- gem build railstart.gemspec --output /tmp/railstart-0.4.5.gem

Tested: built gem metadata reports version 0.4.5, includes examples/, and excludes AGENTS.md
@dpaluy dpaluy merged commit 42cf447 into master Apr 30, 2026
2 checks passed
@dpaluy dpaluy deleted the chore/examples branch April 30, 2026 15:47
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