Skip to content

Improve developer experience#2760

Open
olivier-thatch wants to merge 1 commit into
ruby-grape:masterfrom
olivier-thatch:olivier/dx
Open

Improve developer experience#2760
olivier-thatch wants to merge 1 commit into
ruby-grape:masterfrom
olivier-thatch:olivier/dx

Conversation

@olivier-thatch

Copy link
Copy Markdown

This PR sets up the repo to provide an improved developer experience:

  1. Include a basic .editorconfig, because EditorConfig is awesome.

  2. .ruby-version and Gemfile.lock are now committed

    • In the past, common practice was to not include these files for gems/libraries, but the current best practice is to commit these to provide a unified developer experience (everyone is running the same set of dependencies) and help with reproducibility.
    • No Ruby version manager is mandated. .ruby-version can be read by rbenv, rvm, mise, etc.
    • .ruby-version is set to 3.3.11, the latest in the 3.3 branch which is the oldest non-EOL branch. This helps prevent contributors from using modern Ruby features not available in the oldest supported version.
    • Gemfile now includes ruby file: '.ruby-version' to keep everything in sync
    • Gemfile.lock is generated with --normalize-platforms and --add-checksums to ensure it works on all platforms and that dependencies are pinned with their checksums (pretty important in this age of constant supply chain attacks)
  3. VSCode (and VSCode-compatible editors like Cursor etc.) settings:

    • recommended extensions:
    • configure VSCode to format on save. The Ruby LSP will automatically apply Rubocop fixes based on the project's Rubocop configure
  4. Ran rubocop --auto-gen-config to keep .rubocop_todo.yml up-to-date.

@olivier-thatch olivier-thatch marked this pull request as ready for review June 10, 2026 21:33

@dblock dblock left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't kind things like EditorConfig or .vscode, will leave open for a bit for others to chime in. Generally in the copilot/claude world we care less and less. I do recommend splitting these into separate PRs so we can have separate CHANGELOG entries.

Comment thread .gitignore
.bundle
.byebug_history
dist
Gemfile.lock

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a gem, so we don't commit a lock file.

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.

2 participants