1. Basic documentation
Ensure user-facing documentation clearly explains:
- How to install the software (Java and C++)
- How to start/run it
- How to use it (with concrete examples)
- How to use it securely (brief guidance on untrusted input, resource usage, binary mode, privileges)
Primary location: README.md
Additional docs may be linked if needed.
2. External interface documentation
Provide reference documentation for all external interfaces:
CLI reference:
- command synopsis
- supported options/flags
- parameters (input/output)
- example invocations
C++ API reference (libtersedecompress.a):
- public headers
- main functions/classes
- usage notes and error behavior
Java API reference:
- public entry points and usage notes
3. Release & support documentation references
Ensure README links to:
- RELEASE.md (release process and cadence)
- SUPPORT.md (how users get help and report issues)
- Development process transparency
Add a short note (e.g., in RELEASE.md or CONTRIBUTING.md) clarifying:
- Development happens continuously in the public repository
- Commits and PRs occur between releases
- Release tags represent stable snapshots, not the only history
- FLOSS build tooling statement
Add a short statement confirming the project can be built using only FLOSS tools:
- Java: OpenJDK + Maven
- C++: open-source compiler + make/cmake
1. Basic documentation
Ensure user-facing documentation clearly explains:
Primary location: README.md
Additional docs may be linked if needed.
2. External interface documentation
Provide reference documentation for all external interfaces:
CLI reference:
C++ API reference (libtersedecompress.a):
Java API reference:
3. Release & support documentation references
Ensure README links to:
Add a short note (e.g., in RELEASE.md or CONTRIBUTING.md) clarifying:
Add a short statement confirming the project can be built using only FLOSS tools: