Skip to content

docs: publish an API reference; tighten clang-tidy, guides, and packaging - #62

Merged
Reddimus merged 2 commits into
mainfrom
docs/api-reference
Sep 25, 2026
Merged

Reddimus merged 2 commits into
mainfrom
docs/api-reference

Conversation

@Reddimus

Copy link
Copy Markdown
Owner

Summary

Publishes an API reference, tightens the checks and docs, and smooths packaging before 0.6.0.

  • API reference. A Doxyfile and make docs build it from the public
    headers, README, operation and channel lists, and changelog, with warnings
    treated as errors. .github/workflows/docs.yml builds it on pull requests
    that touch those files and deploys it to GitHub Pages on release tags.
  • clang-tidy. The check set now includes modernize-* and targeted
    readability-* and cppcoreguidelines-* checks. The config records why each
    exclusion stays out.
  • Docs. CONTRIBUTING is shorter and matches the tooling. It covers the
    CMake that Ubuntu 24.04 lacks, make docs, the auto rule, and 0.x SemVer.
    SECURITY covers Ed25519 keys, and README links the API reference.
  • Packaging. libwebsockets is now found through its own CMake package
    (vcpkg, Homebrew, and Ubuntu ship one), with pkg-config as the fallback, so
    the vcpkg port needs no pkg-config. cmake/KalshiWebsockets.cmake keeps that
    package's directory-wide include_directories() from exposing libwebsockets'
    warnings, in this build and in consumers.
  • Generator. A long spec description no longer gets cut off inside a code
    span, and a summary that introduces a list stops before the list.

Checks

  • make docs with Doxygen 1.18 (macOS) and 1.9.8 (Ubuntu 24.04), no warnings
  • make format lint test, clang-tidy with the wider set on Ubuntu 24.04
  • markdownlint
  • ./tools/test_consumers.sh on macOS and Ubuntu 24.04
  • SemVer impact: none (docs, CI, tooling, and packaging)

…ging

- Doxyfile and `make docs` build the API reference from the public headers
  and user docs, with warnings as errors. docs.yml builds it on pull requests
  and deploys it to GitHub Pages on release tags.
- clang-tidy now runs modernize-* plus targeted readability and C++ Core
  Guidelines checks; the config says why each exclusion stays out.
- libwebsockets is found through its CMake package (vcpkg, Homebrew, Ubuntu),
  with pkg-config as the fallback. cmake/KalshiWebsockets.cmake keeps that
  package's directory-wide include_directories() from exposing libwebsockets'
  warnings, here and in consumers.
- CONTRIBUTING is shorter and matches the tooling, SECURITY covers Ed25519,
  and README links the API reference.
- The generator no longer cuts a long description inside a code span, and a
  summary that introduces a list stops before it.
Copilot AI lite review requested due to automatic review settings September 25, 2026 12:21

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

- Deploy the API reference only when release.yml dispatches it after a
  release, one deploy at a time.
- Run libwebsockets' CMake package inside a function and restore the
  directory's include and link directories exactly, instead of editing them;
  the installed config maps targets and reports not-found gracefully.
- Link README's spec and example files absolutely so they work on Pages.
- Fix the macOS and Ubuntu setup steps and align CONTRIBUTING with the audit.
- List clang-tidy 18's modernize checks by name.
- Keep the text when truncating a description that starts with a code span.
@Reddimus
Reddimus merged commit e5dded2 into main Sep 25, 2026
14 checks passed
@Reddimus
Reddimus deleted the docs/api-reference branch September 25, 2026 12:48
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