Skip to content

Add Cloud Agent development environment config - #2

Open
kumagi wants to merge 1 commit into
masterfrom
cursor/setup-dev-environment-3eb7
Open

Add Cloud Agent development environment config#2
kumagi wants to merge 1 commit into
masterfrom
cursor/setup-dev-environment-3eb7

Conversation

@kumagi

@kumagi kumagi commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a Cloud Agent development environment configuration (.cursor/environment.json) for tinylamb, a C++20 RDBMS built with CMake.

The environment uses Cursor's default image plus an idempotent install step that installs the toolchain and tools the project needs:

  • build-essential + libstdc++-14-dev — C++20 toolchain and the libstdc++ dev files clang selects (the default image ships libgcc-14-dev but not libstdc++-14-dev, which otherwise breaks linking with cannot find -lstdc++).
  • cmake, ninja-build, clang — the build system and compiler used by CI and the README.
  • clang-format — required by the clang-format CI check.
  • postgresql-clientpsql for exercising the PostgreSQL-wire tinylamb_server.
  • curl, git, ca-certificates — for the pinned GoogleSQL / googletest / TPC-H DBGEN downloads CMake performs.

The build downloads its dependencies (pinned GoogleSQL execute_query binary with SHA-256 verification, googletest v1.14.0 via FetchContent, and the TPC-H DBGEN source) over the network, so no vendored deps are required.

Validation

  • Toolchain chain proven end-to-end on the repo's real code: a clean clang + CMake + Ninja + googletest FetchContent build compiled parser/tokenizer.cpp and ran parser/tokenizer_test.cpp under ctest — all 6 cases passed.
  • The pinned GoogleSQL frontend binary downloaded (checksum-verified) and executed a real query.
  • install is idempotent (second run reports 0 added, 0 removed).

Note on repository build state

The full project does not build at the current master (d37c659): CMakeLists.txt and README.md reference roughly 60 source files that are not committed to the repository — the entire server/ and benchmark/ directories plus query/sql_engine.cpp, query/googlesql_*.cpp, several executor/, expression/, and plan/ sources. CMake configuration therefore fails before any target can be built. This is a codebase issue independent of the environment; once those sources are committed, the configured environment builds and tests the project with the standard cmake -S . -B build -G Ninja && cmake --build build -j && ctest --test-dir build flow.

Open in Web Open in Cursor 

Co-authored-by: Hiroki KUMAZAKI <rintyo_@hotmail.com>
@kumagi
kumagi marked this pull request as ready for review August 19, 2026 14:34
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