Skip to content

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.

  1. Clone the repository

    Terminal window
    git clone https://github.com/crsdk/alpha-sdk-api.git
  2. 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 helper scripts/extract-sdk.sh unpacks a download into the right layout.

  3. 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.

  4. Build the server

    Terminal window
    cd api/server && mkdir -p build && cd build
    cmake -DCMAKE_BUILD_TYPE=Release ..
    cmake --build . --config Release
  5. Run it

    Terminal window
    ./CameraWebApp

    Then confirm it is alive:

    Terminal window
    curl http://localhost:8080/api/server/status

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.

  • 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.yaml describes it.
  • Unit and static checks pass; relevant end-to-end checks from docs/TESTING.md were 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.