docs: S30.01 getting-started doc + integration manifest#570
Conversation
Author docs/getting-started.md as the integrator front door: capability matrix trimmed to integrator-facing columns, both consumption paths (CMake and non-CMake source integration), a copy-pasteable manifest for the beta stack (FreeRTOS + lwIP + Mbed TLS + FatFs), the tunables mechanism, and a minimal "your first log" walkthrough. Reframe builds.md as the contributor/maintainer preset catalogue and add the previously-missing c99, iwyu (advisory), and freertos-cross-lwip presets. Cross-link README -> getting-started as the front door. Docs only; no build files touched. Closes #567 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
📝 WalkthroughWalkthroughThis PR establishes integrator-facing documentation for consuming SolidSyslog. It introduces a new ChangesIntegrator-facing Getting-Started Guide
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
☀️ Quality Summary 🚦 build-linux-gcc: 100% successful (✔️ 1521 passed) Created by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result. |
There was a problem hiding this comment.
🧹 Nitpick comments (3)
docs/getting-started.md (3)
176-178: ⚡ Quick winSpecify language for fenced code block.
Add a language identifier (e.g.,
textorsh) to improve syntax highlighting and satisfy markdownlint (MD040). This applies to all file-list code blocks in the manifest section (Lines 176, 190, 207, 217, 225, 236, 256).📝 Example fix for Line 176
-``` +```text Core/Source/*.c</details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@docs/getting-started.mdaround lines 176 - 178, Add a language identifier to
each fenced code block in the manifest section of docs/getting-started.md (the
file-list blocks like the one containing "Core/Source/.c") so markdownlint
MD040 is satisfied; update each triple-backtick block (e.g., the blocks showing
file globs such as "Core/Source/.c", and the other listed blocks at the
manifest section) to use a language token liketext orsh before the file
list and keep the content unchanged.</details> <!-- cr-comment:v1:e2b372ba40640ae68e54a2b7 --> --- `157-163`: _⚡ Quick win_ **Remove blank line inside blockquote.** The blank line at Line 161 (between the two blockquote paragraphs) triggers a markdownlint warning (MD028). Markdown renderers may treat this as two separate blockquotes. <details> <summary>📝 Proposed fix</summary> ```diff > **Tip — adapter file groups.** For an adapter named `Foo`, compile every > `Platform/<X>/Source/SolidSyslogFoo*.c` (the `Foo` + `FooStatic` pair) and put > `Platform/<X>/Source` on the include path for the `FooPrivate.h` header. > The matrix above lists which groups you need per role. - +> > *(This manifest is hand-authored against the current tree. S30.03 will > generate it from CMake so it can never drift — see `#569`.)* ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary> ``` Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/getting-started.md` around lines 157 - 163, Remove the stray blank line inside the blockquote that splits the two paragraphs ("Tip — adapter file groups." and the parenthetical about S30.03) so they are one continuous blockquote; edit the block containing "Tip — adapter file groups." and the subsequent parenthetical "(This manifest is hand-authored against the current tree. S30.03 will generate it from CMake so it can never drift — see `#569`.)" and delete the empty line between them to satisfy MD028. ``` </details> <!-- cr-comment:v1:41b86ebb3ab0fb4dbab3389c --> --- `34-40`: _⚡ Quick win_ **Inconsistent hyphenation of "prebuilt".** Line 34 uses "prebuilt" while Line 40 uses "pre-build". Choose one form and use it consistently throughout the document. <details> <summary>🤖 Prompt for AI Agents</summary> ``` Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/getting-started.md` around lines 34 - 40, The document uses inconsistent hyphenation for "prebuilt"—it appears as "prebuilt" in the phrase "Core is a prebuilt `.a`" and as "pre-build" in "one-size pre-build."; pick one form (prefer "prebuilt"), replace the other occurrence so both read the same, and run a quick search through the doc to normalize any other instances to the chosen spelling. ``` </details> <!-- cr-comment:v1:3428b0c75238ea292d412dc0 --> </blockquote></details> </blockquote></details> <details> <summary>🤖 Prompt for all review comments with AI agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.Nitpick comments:
In@docs/getting-started.md:
- Around line 176-178: Add a language identifier to each fenced code block in
the manifest section of docs/getting-started.md (the file-list blocks like the
one containing "Core/Source/.c") so markdownlint MD040 is satisfied; update
each triple-backtick block (e.g., the blocks showing file globs such as
"Core/Source/.c", and the other listed blocks at the manifest section) to use a
language token liketext orsh before the file list and keep the content
unchanged.- Around line 157-163: Remove the stray blank line inside the blockquote that
splits the two paragraphs ("Tip — adapter file groups." and the parenthetical
about S30.03) so they are one continuous blockquote; edit the block containing
"Tip — adapter file groups." and the subsequent parenthetical "(This manifest is
hand-authored against the current tree. S30.03 will generate it from CMake so it
can never drift — see#569.)" and delete the empty line between them to satisfy
MD028.- Around line 34-40: The document uses inconsistent hyphenation for
"prebuilt"—it appears as "prebuilt" in the phrase "Core is a prebuilt.a" and
as "pre-build" in "one-size pre-build."; pick one form (prefer "prebuilt"),
replace the other occurrence so both read the same, and run a quick search
through the doc to normalize any other instances to the chosen spelling.</details> --- <details> <summary>ℹ️ Review info</summary> <details> <summary>⚙️ Run configuration</summary> **Configuration used**: defaults **Review profile**: CHILL **Plan**: Pro **Run ID**: `01372732-7037-466f-963b-e529ab7443e5` </details> <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between 16ddce42536ed0b795e9ba2fd4849b76d2650b99 and 7be4a1923f1e688f631793d579472893cf48cdbe. </details> <details> <summary>📒 Files selected for processing (4)</summary> * `DEVLOG.md` * `README.md` * `docs/builds.md` * `docs/getting-started.md` </details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
Purpose
First story of E30 (#566, frictionless integration). Authors the
getting-started front door + a hand-authored integration manifest so a
non-CMake integrator (the beta: FreeRTOS + lwIP + Mbed TLS + FatFs, IAR) can
build from docs alone. Docs only, authored against the current tree — zero CI
risk. (S30.03 later replaces the hand-authored manifest with a generated one.)
Closes #567
Change Description
docs/getting-started.md— the integrator front door:(provider / files / upstream dep / config / pool tunable), split into
Networking / TLS+at-rest / OS+storage+SD / BYO-callback tables.
note that S30.02 makes it one-line; Path B (non-CMake) is the
file/include/
-Dmanifest, with the include-path rule made explicit.so no
LWIP_DNS) + Mbed TLS + FreeRTOS + FatFs.clists, include dirs, thesingle required
-D, the five integrator-owned config headers, and BYO callbacks.docs/builds.mdreframed as the contributor/maintainer preset catalogue;added the previously-missing
c99,iwyu(documented accurately asadvisory per S24.13 — not "dropped"), and
freertos-cross-lwippresets.Test Evidence
Docs only — no code, no tests, no build files touched (
git diff --stat:DEVLOG.md,README.md,docs/builds.md,docs/getting-started.md). Manifestfacts verified against the tree: Core is platform-clean (no platform/upstream
includes), the listed adapter
.cgroups and include-path requirements exist,and the
freertos-cross-lwiptarget/ELF names matchCMakePresets.json+Bdd/Targets/FreeRtosLwip/CMakeLists.txt.Areas Affected
Documentation only (
docs/,README.md,DEVLOG.md). No required CI check isaffected; no library, platform, or build target changed.
Summary by CodeRabbit