Skip to content

Set up native Cursor Cloud dev environment - #1574

Open
jrhoads wants to merge 2 commits into
masterfrom
cursor-setup-dev-environment-f30e
Open

Set up native Cursor Cloud dev environment#1574
jrhoads wants to merge 2 commits into
masterfrom
cursor-setup-dev-environment-f30e

Conversation

@jrhoads

@jrhoads jrhoads commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary

Sets up the DataCite REST API ("Lupo") to run natively in the Cursor Cloud VM (no Docker), and adds durable instructions for future agents. No application code was modified.

The stack is Ruby 4.0.1 (via rbenv) + Rails 8.1, backed by MySQL 8.0, Memcached, and OpenSearch 2 running locally. Environment-specific files (.env, .bundle/config, Gemfile.dev.lock) are git-ignored and persisted via the VM snapshot.

Changes

  • Gemfile.dev — a local-only Gemfile that layers Puma on top of the real Gemfile (the committed Gemfile has no app-server gem because production uses Passenger in Docker). Lets us run rails server natively without touching Gemfile/Gemfile.lock.
  • .gitignore — ignore the generated Gemfile.dev.lock.
  • AGENTS.md — Cursor Cloud specific instructions: how to start the backing services, environment/.env notes, and lint/test/run commands plus non-obvious gotchas.

Verification

Task Command Result
Lint bundle exec rubocop --parallel 677 files, no offenses
Test bundle exec rspec spec/models/prefix_spec.rb 4 examples, 0 failures
Run BUNDLE_GEMFILE=Gemfile.dev bundle exec rails server Boots in development mode; GET /heartbeatOK

Hello-world (core functionality): created a draft DOI via the authenticated REST API and read it back:

  • POST /dois (staff_admin JWT) → HTTP 201, state: draft, linked to client datacite.testuser
  • GET /dois/10.14454/cursor-hello-17194HTTP 200; confirmed persisted in MySQL
  • /providers and /dois listing endpoints serve indexed data from OpenSearch

lupo_api_dev_server_demo.mp4

/providers showing the created organization
/dois listing served from OpenSearch

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

cursoragent and others added 2 commits July 31, 2026 10:22
Co-authored-by: Joseph Rhoads <jrhoads@users.noreply.github.com>
Co-authored-by: Joseph Rhoads <jrhoads@users.noreply.github.com>
@jrhoads
jrhoads marked this pull request as ready for review July 31, 2026 13:56
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