Contributing
Contributions happen in crsdk/alpha-sdk-api. The REST server, the OpenAPI specification and this documentation site all live in that one repository, so a change to an endpoint updates the implementation, the contract and the docs in the same commit.
Local setup
Section titled “Local setup”-
Clone the repository
Terminal window git clone https://github.com/crsdk/alpha-sdk-api.git -
Download the Camera Remote SDK from Sony
Accept the licence on Sony’s download page, then place the files as described in
docs/SDK_SETUP.md. The helperscripts/extract-sdk.shunpacks a download into the right layout. -
Install build prerequisites
CMake and a C++ toolchain. JSON is vendored in
api/server/third_party/jsoncpp, and OpenSSL was deliberately removed, so there are no other runtime dependencies to install. -
Build the server
Terminal window cd api/server && mkdir -p build && cd buildcmake -DCMAKE_BUILD_TYPE=Release ..cmake --build . --config Release -
Run it
Terminal window ./CameraWebAppThen confirm it is alive:
Terminal window curl http://localhost:8080/api/server/status
What you must not commit
Section titled “What you must not commit”shared/core/ holds Sony’s stock SDK sample helpers, fetched locally and
not tracked here. Never edit them. The REST server’s own device logic is MIT
code under api/server/src/device/, and that is where changes belong.
CI enforces this on the public repository: a job fails the build if any SDK source, SDK binary, or compiled artefact is committed.
Pull request checklist
Section titled “Pull request checklist”- No Sony SDK files, SDK binaries, build folders, camera media or local credentials are added.
- The OpenAPI contract and the implementation agree — a new endpoint is not
done until
api/openapi.yamldescribes it. - Unit and static checks pass; relevant end-to-end checks from
docs/TESTING.mdwere run, or skipped with a stated reason. - Hardware-dependent behaviour lists camera model, firmware, connection mode and SDK version. “Works on my camera” is not a test note.
- Any model-specific claim is backed by the SDK documentation or the camera help guides — not inferred from one body.