Skip to content

docs(readme): restructure the README with a project header, an overview and collapsible sections - #213

Open
SizzleUnrlsd wants to merge 1 commit into
mainfrom
docs/readme-restructure
Open

SizzleUnrlsd wants to merge 1 commit into
mainfrom
docs/readme-restructure

Conversation

@SizzleUnrlsd

Copy link
Copy Markdown
Contributor

This PR reorganizes the README. A reader arriving from GitHub now sees first what CoreTrace does and how to try it. The reference material follows, and the long build variants are folded away.

Structure

  • Header: a centered header with:
    • the project name and its tagline;
    • links to the website, the web app, releases, configuration and contributing;
    • badges for CI, formatting, license checks, a dated coverage snapshot, the release, the license and the toolchain.
  • Overview: what ctrace finds, who it is for, and a capability table.
  • Quick start: the release archive, demo.c and its finding, then SARIF export and a configuration file.
  • Build: one collapsible block per platform (Ubuntu 24.04, Ubuntu 22.04, macOS), and one for the optional Python analyzer.
  • Analyzers: a table of the eight tools, then one section per tool. Each section says what the tool checks, how CoreTrace runs it, and where it is configured.
  • The remaining sections: Releases (with how to verify one), Command-line options, Configuration, SARIF output, Exit codes, Server mode (its request example is folded away), Development (tests, coverage, code style, debug, version, the mangle API), and Contributing, which includes a table of the repository documents.

Headings now use sentence case (### BUILD becomes ## Build). All former anchors still resolve, except two that nothing links to, in the repository or the wiki:

  • #ctrace, the former title;
  • #contribute, now #contributing.

#argument, the former options heading, is kept as an explicit anchor. #concurrency, #runtime and #python are new short anchors to the analyzer sections.

Content changes beyond the layout

  • Flawfinder: the README now asks for 2.0.16 or newer, the first version with --sarif. It used to say 2.0 (see fix(flawfinder): name 2.0.16, the first version with --sarif #212).
  • IKOS and --static: whenever IKOS runs, the analysis ends incomplete. For --static, this applies to C/C++ inputs only.
  • Examples: they now reach a verdict.
    • The configuration example uses --invoke instead of --static --dyn.
    • The server request sets static_analysis to false, and writes its report to ctrace.sarif.
  • Command prefixes: they follow their context.
    • The quick start uses the release archive.
    • Examples that assume an installation use ctrace.
    • Examples run from the repository root use ./build/ctrace.
  • Code style: the section now names clang-format 20, the version CI uses (it said 17), and is written in English.
  • Coverage: the section dates its figures (2026-10-04, run 37216001843 on 42ae800).

Verification

  • Files and anchors: every file, script and workflow the README names exists, and every internal anchor resolves.
  • External links: 40 of the 41 links answer 200 or 206. URLs with a <version> placeholder were not tested. The stargazers page answers 404, as it does for any repository when the visitor is not logged in.
  • Code references: options, tool names and configuration keys were checked against the code. Every parameter of the server request is accepted.
  • Examples: they were run with a build of main at ce3e47d.
    • The configuration example exits 0, with both tools' summaries.
    • The server example answers status: ok and gate.exit_code 2, with no failed or unread tool, and shuts down with 202.
    • The quick start's SARIF command writes a SARIF 2.1.0 log with its finding.
  • Coverage: the figures match the summary.md of the run's coverage-report artifact.

@SizzleUnrlsd SizzleUnrlsd added the documentation Improvements or additions to documentation label Oct 26, 2026
@SizzleUnrlsd SizzleUnrlsd self-assigned this Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant