Skip to content

Build a real public API and installable package surface #13

Description

@audexdev

Summary

The repository has include/lac/lac.hpp and include/lac/version.hpp, but they are currently empty. Consumers must include headers from src/, which makes internal implementation files the de facto public API.

Affected areas

  • include/lac/lac.hpp
  • include/lac/version.hpp
  • CMakeLists.txt
  • README usage examples

Work items

  • Define the intended public API surface.
  • Export stable encoder/decoder entry points from include/lac/lac.hpp.
  • Add version constants or macros to include/lac/version.hpp.
  • Avoid requiring consumers to include src/ headers directly.
  • Add CMake install/export rules and package config if the library is meant to be consumed externally.

Acceptance criteria

  • A small external example can include only public headers and link against lac.
  • Public headers document ownership, error behavior, supported formats, and experimental status.
  • CMake exposes a coherent installable target or clearly documents that install support is not yet available.

Metadata

Metadata

Assignees

No one assigned

    Labels

    apiPublic API, packaging, and consumer-facing interfacesdocumentationImprovements or additions to documentationenhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions