docs: sync README + docs/ with current code#361
Conversation
The docs had drifted from the now-public, macOS-capable, SocialAPI-complete codebase. Corrects ~75 verified inaccuracies across 23 files (docs only — no source changes): - README: drop the stale "Private repository / do not make it public" notice (the repo is public); ~28 -> 35 crates; keyring is the macOS Keychain (apple-native), not Linux Secret Service, and the deployment is not Linux-only; SocialAPI send / cross-post / CLI / proxied OAuth are shipped, not "forthcoming"; process-management units are installer-generated (systemd on Linux, launchd on macOS) with pm2 also available; fix the grocery PM2 claim. - PUBLISH.md: stop claiming git history was scrubbed to the GitHub noreply — it wasn't (gmail still in history + live git-config regression). Tracked in #358. - REMOTION.md: phases 1/2/5 have shipped (content-adapter, governor Post wiring, IG/X/LinkedIn channels); keep only the genuinely-unbuilt renderer->adapter wiring + video publish as future work. - ig-x-dm-channels.md: mark SUPERSEDED — the official-API-only decision was reversed in code (unofficial cookie channels with DM send shipped). - MULTI-TENANT.md: flag the dashboard AUGMENTAGENT_DB bug (#360). - VAULT / SECURITY / LINKEDIN / protocol docs / setup-skill / sidecar READMEs / .env.example: misc command, env-var, status, path, and link corrections. Refs #305, #357, #358, #359, #360.
📝 WalkthroughWalkthroughThe PR updates configuration templates and documentation across setup, sidecar, and protocol references. It removes stale approval and credential settings, adds Wegmans and SocialAPI guidance, revises process and publish notes, and aligns setup and troubleshooting docs with current channel behavior. ChangesRuntime setup and account docs
Deployment, security, and rollout docs
Protocol and sidecar docs
AugmentAgent setup skill docs
Research note
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 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)
⚔️ Resolve merge conflicts
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 |
There was a problem hiding this comment.
Actionable comments posted: 6
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
sidecars/browser/README.md (1)
6-19: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winAdd a language tag to the fenced block.
Line 13 triggers the markdownlint fenced-code warning;
textwould be enough here.♻️ Proposed fix
-``` +```text🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sidecars/browser/README.md` around lines 6 - 19, The fenced layout block in sidecars/browser/README.md is missing a language tag and triggers markdownlint; update the existing code fence in the Layout section to use a text language tag so the block is explicitly marked as plain text.Source: Linters/SAST tools
skills/augmentagent-setup/channels/instagram.md (1)
74-75: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick winRoute Instagram gate flips through
env set, not.env.This file now tells users to edit
.envdirectly, but the setup docs and CLI contract make sqliteconfigthe source of truth and.envonly a fallback. Useaugmentagent env set INSTAGRAM_REAL_ACCOUNT_ENABLED true/false, then restart, so the daemon actually sees the change.🛠 Suggested fix
- Then tell the user to flip `INSTAGRAM_REAL_ACCOUNT_ENABLED=true` in `.env` and restart again. + Then tell the user to run `augmentagent env set INSTAGRAM_REAL_ACCOUNT_ENABLED true` and restart again.-Also tell the user to flip `INSTAGRAM_REAL_ACCOUNT_ENABLED=false` in `.env`. +Also tell the user to run `augmentagent env set INSTAGRAM_REAL_ACCOUNT_ENABLED false`.Also applies to: 112-114
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@skills/augmentagent-setup/channels/instagram.md` around lines 74 - 75, The Instagram setup instructions are telling users to change INSTAGRAM_REAL_ACCOUNT_ENABLED directly in .env, but the daemon should read this via the env/config path instead. Update the guidance in the Instagram channel doc to use augmentagent env set INSTAGRAM_REAL_ACCOUNT_ENABLED true/false and then restart, and make the same correction anywhere else the same .env-based flip is mentioned.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.env.example:
- Around line 36-58: The sample environment block is not machine-readable
because several active variable assignments include inline prose after the
equals sign, which can break dotenv parsing and linting. Move the explanatory
text onto separate comment lines and keep the actual assignments for
DASHBOARD_PORT, GITHUB_WEBHOOK_SECRET, and the other env vars comment-only or
value-only so the example remains a valid .env template.
In `@docs/MULTI-TENANT.md`:
- Around line 57-69: The tenant setup flow currently presents Connect Google
Drive as an available step even though it writes the tenant’s drive_accounts row
into the production database and breaks isolation. Update the Multi-Tenant docs
to remove this step from the active tenant setup path in the section describing
tenant onboarding, and mark it as unavailable/disabled until issue `#360` is
fixed; use the existing Connect Google Drive / drive_accounts / `#360` references
so readers understand it must not be followed yet.
In `@docs/PUBLISH.md`:
- Around line 57-66: The guidance in this section should not recommend
committing a root .mailmap that contains personal Gmail addresses, since that
would put PII back into tracked source. Update the instructions around the git
filter-repo/mailmap workflow to keep the mapping local and private, and
reference the existing scrub-rewrite steps in this document so contributors know
to perform the history rewrite without adding a tracked .mailmap file.
In `@docs/REMOTION.md`:
- Around line 173-195: The Phase 5 summary is too broad because it says the
channels “currently post text/image,” which conflicts with the Instagram
`Composer` bullet that already lists Reel/Story posting. Update the wording in
the Phase 5 section to focus on the missing renderer-produced mp4 wiring from
`MediaSpec` into the publish paths, using the existing platform surface
references (`posting.rs`, `Composer`, `CreateTweetClient`) to make clear the gap
is in video-publish integration rather than overall channel capability.
In `@skills/augmentagent-setup/channels/instagram.md`:
- Around line 45-47: The Instagram setup guide is self-contradictory because it
presents `augmentagent instagram login` as if it were runnable even though the
top-level command is not wired yet. Update the affected steps in the Instagram
channel doc to clearly mark the login action as unavailable/not yet implemented
and avoid instructing users to execute `augmentagent instagram login` until the
router/command actually exists. Refer to the `next_cmd` template and the Step 5
login instructions so they stay consistent with the “NOT YET WIRED” note.
In `@skills/augmentagent-setup/components/systemd-units.md`:
- Around line 61-65: The install snippet in the systemd-units docs uses an
unlabeled fence, which triggers markdownlint. Update the code block around the
shell commands in the install section to use a shell language fence so the
commands are properly highlighted and the docs build stays clean.
---
Outside diff comments:
In `@sidecars/browser/README.md`:
- Around line 6-19: The fenced layout block in sidecars/browser/README.md is
missing a language tag and triggers markdownlint; update the existing code fence
in the Layout section to use a text language tag so the block is explicitly
marked as plain text.
In `@skills/augmentagent-setup/channels/instagram.md`:
- Around line 74-75: The Instagram setup instructions are telling users to
change INSTAGRAM_REAL_ACCOUNT_ENABLED directly in .env, but the daemon should
read this via the env/config path instead. Update the guidance in the Instagram
channel doc to use augmentagent env set INSTAGRAM_REAL_ACCOUNT_ENABLED
true/false and then restart, and make the same correction anywhere else the same
.env-based flip is mentioned.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 9e654c61-5274-4a60-a748-8bd013e9b650
📒 Files selected for processing (23)
.env.exampleREADME.mddocs/LINKEDIN.mddocs/MIGRATION.mddocs/MULTI-TENANT.mddocs/PUBLISH.mddocs/REMOTION.mddocs/SECURITY.mddocs/VAULT.mddocs/deft-protocol.mddocs/ig-x-dm-channels.mddocs/instagram-protocol.mddocs/research/123-auto-learning-loop.mdsidecars/browser/README.mdsidecars/fetch/README.mdsidecars/grocery/README.mdsidecars/wa-sidecar/README.mdskills/augmentagent-setup/SKILL.mdskills/augmentagent-setup/channels/instagram.mdskills/augmentagent-setup/components/env-file.mdskills/augmentagent-setup/components/systemd-units.mdskills/augmentagent-setup/reference/status-schema.mdskills/augmentagent-setup/reference/troubleshooting.md
| # NOTE: approvals stay pending indefinitely by design — there is no timeout var. | ||
|
|
||
| # --- Dashboard --------------------------------------------------------------- | ||
| DASHBOARD_PORT=3000 | ||
| IMPORTANT_SENDERS=email1@example.com,email2@example.com | ||
|
|
||
| # --- Reddit OAuth ------------------------------------------------------------ | ||
| # Browser/dashboard OAuth flow (src/apiV1.ts). The refresh token is stored in | ||
| # the gitignored DB once the /api/reddit/auth flow completes. | ||
| # REDDIT_CLIENT_ID= # Reddit app client id (installed/web app) | ||
| # REDDIT_REDIRECT_URI= # default http://localhost:${DASHBOARD_PORT}/api/reddit/callback | ||
|
|
||
| # --- Web push (VAPID) -------------------------------------------------------- | ||
| # Browser push subscriptions for the dashboard queue view. Optional. The | ||
| # private key lives with the push sender (not the Node dashboard). | ||
| # VAPID_PUBLIC_KEY= | ||
|
|
||
| # --- Dev-tool webhooks (#49) ------------------------------------------------- | ||
| GITHUB_WEBHOOK_SECRET= # openssl rand -hex 32 | ||
| # LINEAR_WEBHOOK_SECRET= # /webhooks/linear (falls back to LINEAR_API_KEY) | ||
| # LINEAR_API_KEY= # fallback verify secret if LINEAR_WEBHOOK_SECRET unset | ||
| # NOTION_WEBHOOK_SECRET= # /webhooks/notion | ||
| # CALENDLY_WEBHOOK_SECRET= # /webhooks/calendly | ||
| # SOCIALAPI_WEBHOOK_SECRET= # /webhooks/socialapi (or config key socialapi_webhook_secret) |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Keep the sample env block machine-readable.
These active assignments still embed prose after =, which dotenv-linter flags and some loaders may parse differently. Move the notes to separate comment lines so copied examples stay valid.
♻️ Proposed fix
- GITHUB_WEBHOOK_SECRET= # openssl rand -hex 32
+# GITHUB_WEBHOOK_SECRET: openssl rand -hex 32
+GITHUB_WEBHOOK_SECRET=
@@
- GROCERY_PROVIDER=giant # giant | wegmans (selects the provider below)
+# GROCERY_PROVIDER: giant | wegmans (selects the provider below)
+GROCERY_PROVIDER=giantAlso applies to: 73-73
🧰 Tools
🪛 dotenv-linter (4.0.0)
[warning] 53-53: [SpaceCharacter] The line has spaces around equal sign
(SpaceCharacter)
[warning] 53-53: [ValueWithoutQuotes] This value needs to be surrounded in quotes
(ValueWithoutQuotes)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.env.example around lines 36 - 58, The sample environment block is not
machine-readable because several active variable assignments include inline
prose after the equals sign, which can break dotenv parsing and linting. Move
the explanatory text onto separate comment lines and keep the actual assignments
for DASHBOARD_PORT, GITHUB_WEBHOOK_SECRET, and the other env vars comment-only
or value-only so the example remains a valid .env template.
Source: Linters/SAST tools
| **Connect Google Drive** (intended to write the tenant's `drive_accounts` | ||
| row). | ||
|
|
||
| > **⚠️ Known bug (issue #360): tenant Drive isolation does NOT work today.** | ||
| > The Node dashboard currently **ignores `AUGMENTAGENT_DB`**. Its entrypoints | ||
| > call `initDb()` with no argument, and `initDb` resolves the db path to | ||
| > `process.cwd()/data.db` (`src/db.ts`). Because the launch wrappers | ||
| > (`scripts/run-dashboard.sh`, and the systemd `WorkingDirectory` from | ||
| > `install-dashboard.sh`) `cd` into the repo root, **the dashboard always | ||
| > opens the production `data.db`**. Setting `AUGMENTAGENT_DB="$DB"` has no | ||
| > effect, so **Connect Google Drive writes the `drive_accounts` row into the | ||
| > prod db**, violating the zero-shared-state invariant below. Do not rely on | ||
| > this step for tenant Drive isolation until #360 is fixed. |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Move the Drive step out of the tenant setup path.
The warning says this still writes the tenant drive_accounts row into the production DB, so leaving it as step 4 makes the broken path look operational. Mark it as unavailable until #360 lands, or operators will keep following a step that breaks tenant isolation.
Suggested fix
-4. Google Drive: run the dashboard with `AUGMENTAGENT_DB="$DB"` and click
- **Connect Google Drive** (intended to write the tenant's `drive_accounts`
- row).
+4. Google Drive: **skip for now** — tenant Drive isolation is still broken
+ (`#360`), and the dashboard writes into the production DB.🤖 Prompt for AI Agents
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/MULTI-TENANT.md` around lines 57 - 69, The tenant setup flow currently
presents Connect Google Drive as an available step even though it writes the
tenant’s drive_accounts row into the production database and breaks isolation.
Update the Multi-Tenant docs to remove this step from the active tenant setup
path in the section describing tenant onboarding, and mark it as
unavailable/disabled until issue `#360` is fixed; use the existing Connect Google
Drive / drive_accounts / `#360` references so readers understand it must not be
followed yet.
| - The author/committer metadata still needs scrubbing (see #358 and the top of | ||
| this doc). To do it, run `git filter-repo --mailmap mailmap.txt` on a fresh | ||
| clone, mapping BOTH personal Gmail addresses (read them from | ||
| `git log --all --format='%ae %ce' | grep -i gmail | sort -u`) → | ||
| `119541177+nolanmak@users.noreply.github.com` for author AND committer, then | ||
| force-push `main` and the affected branches (safe here: no forks/PRs on the | ||
| public repo). As a belt-and-suspenders display fix, also commit a root | ||
| `.mailmap` with the same mappings so GitHub renders the noreply even before the | ||
| rewrite lands. The same `git filter-repo --mailmap` procedure applies if commit | ||
| identity ever regresses to a personal email again. |
There was a problem hiding this comment.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
Don't commit a .mailmap that contains personal emails.
That would reintroduce Gmail addresses into tracked source, which conflicts with the repo's no-PII contract in docs/SECURITY.md. Keep the mapping local/private, or finish the history rewrite before publishing.
Suggested fix
- As a belt-and-suspenders display fix, also commit a root `.mailmap` with the same mappings so GitHub renders the noreply even before the rewrite lands.
+ Keep the `.mailmap` out of the public repo; finish the history rewrite before publishing.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - The author/committer metadata still needs scrubbing (see #358 and the top of | |
| this doc). To do it, run `git filter-repo --mailmap mailmap.txt` on a fresh | |
| clone, mapping BOTH personal Gmail addresses (read them from | |
| `git log --all --format='%ae %ce' | grep -i gmail | sort -u`) → | |
| `119541177+nolanmak@users.noreply.github.com` for author AND committer, then | |
| force-push `main` and the affected branches (safe here: no forks/PRs on the | |
| public repo). As a belt-and-suspenders display fix, also commit a root | |
| `.mailmap` with the same mappings so GitHub renders the noreply even before the | |
| rewrite lands. The same `git filter-repo --mailmap` procedure applies if commit | |
| identity ever regresses to a personal email again. | |
| - The author/committer metadata still needs scrubbing (see `#358` and the top of | |
| this doc). To do it, run `git filter-repo --mailmap mailmap.txt` on a fresh | |
| clone, mapping BOTH personal Gmail addresses (read them from | |
| `git log --all --format='%ae %ce' | grep -i gmail | sort -u`) → | |
| `119541177+nolanmak@users.noreply.github.com` for author AND committer, then | |
| force-push `main` and the affected branches (safe here: no forks/PRs on the | |
| public repo). Keep the `.mailmap` out of the public repo; finish the history rewrite before publishing. | |
| The same `git filter-repo --mailmap` procedure applies if commit | |
| identity ever regresses to a personal email again. |
🧰 Tools
🪛 LanguageTool
[style] ~58-~58: Consider a more expressive alternative.
Context: ...see #358 and the top of this doc). To do it, run `git filter-repo --mailmap mail...
(DO_ACHIEVE)
🤖 Prompt for AI Agents
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/PUBLISH.md` around lines 57 - 66, The guidance in this section should
not recommend committing a root .mailmap that contains personal Gmail addresses,
since that would put PII back into tracked source. Update the instructions
around the git filter-repo/mailmap workflow to keep the mapping local and
private, and reference the existing scrub-rewrite steps in this document so
contributors know to perform the history rewrite without adding a tracked
.mailmap file.
| ### Phase 5 — platform publish ◐ (channels built) | ||
|
|
||
| The per-platform channel crates — auth + DM + posting — already exist. | ||
| **Status of the platform surface today:** | ||
|
|
||
| - **LinkedIn** (`crates/augmentagent-channel-linkedin`): feed posting is | ||
| implemented in `posting.rs` (#51 / #77) via Voyager | ||
| `contentcreation/normShares` — **text** and **single-image** posts, with | ||
| `ShareUrn` / `Visibility` types and own-post comment polling (`own_posts.rs`, | ||
| #58.2). Deferred to a later sub-phase: video, polls, scheduling, articles, | ||
| and multi-image. | ||
| - **Instagram** (`crates/augmentagent-channel-instagram`): exists with auth + | ||
| DM surfaces and a browser-driven `Composer` (`composer.rs`) for | ||
| Feed/Carousel/Reel/Story posting (#50 / #76). | ||
| - **Twitter(X)** (`crates/augmentagent-channel-twitter`): exists with auth + | ||
| DM surfaces and a `CreateTweetClient` (#79) that posts via the `CreateTweet` | ||
| GraphQL op behind a hard 15/day quota preflight and a dry-run gate. | ||
|
|
||
| **Still unbuilt — video publish wiring.** What remains is connecting the | ||
| renderer-produced mp4 (Phase 1's `MediaSpec` → rendered clip) through these | ||
| channels' posting paths; the channels currently post text/image, not the | ||
| rendered short. Every publish path here is ToS-bearing and rate-sensitive, so | ||
| the remaining video-publish wiring stays gated on Phases 2–4. |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Narrow the Phase 5 summary wording.
"channels currently post text/image" reads too broad next to the Instagram bullet, which already advertises Reel/Story posting. Rephrase this around the missing renderer→publish wiring instead of the channel capabilities.
Suggested fix
- the channels currently post text/image, not the rendered short.
+ the renderer-produced mp4 is not yet wired into the publish paths.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ### Phase 5 — platform publish ◐ (channels built) | |
| The per-platform channel crates — auth + DM + posting — already exist. | |
| **Status of the platform surface today:** | |
| - **LinkedIn** (`crates/augmentagent-channel-linkedin`): feed posting is | |
| implemented in `posting.rs` (#51 / #77) via Voyager | |
| `contentcreation/normShares` — **text** and **single-image** posts, with | |
| `ShareUrn` / `Visibility` types and own-post comment polling (`own_posts.rs`, | |
| #58.2). Deferred to a later sub-phase: video, polls, scheduling, articles, | |
| and multi-image. | |
| - **Instagram** (`crates/augmentagent-channel-instagram`): exists with auth + | |
| DM surfaces and a browser-driven `Composer` (`composer.rs`) for | |
| Feed/Carousel/Reel/Story posting (#50 / #76). | |
| - **Twitter(X)** (`crates/augmentagent-channel-twitter`): exists with auth + | |
| DM surfaces and a `CreateTweetClient` (#79) that posts via the `CreateTweet` | |
| GraphQL op behind a hard 15/day quota preflight and a dry-run gate. | |
| **Still unbuilt — video publish wiring.** What remains is connecting the | |
| renderer-produced mp4 (Phase 1's `MediaSpec` → rendered clip) through these | |
| channels' posting paths; the channels currently post text/image, not the | |
| rendered short. Every publish path here is ToS-bearing and rate-sensitive, so | |
| the remaining video-publish wiring stays gated on Phases 2–4. | |
| **Still unbuilt — video publish wiring.** What remains is connecting the | |
| renderer-produced mp4 (Phase 1's `MediaSpec` → rendered clip) through these | |
| channels' posting paths; the renderer-produced mp4 is not yet wired into the publish paths. Every publish path here is ToS-bearing and rate-sensitive, so | |
| the remaining video-publish wiring stays gated on Phases 2–4. |
🤖 Prompt for AI Agents
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/REMOTION.md` around lines 173 - 195, The Phase 5 summary is too broad
because it says the channels “currently post text/image,” which conflicts with
the Instagram `Composer` bullet that already lists Reel/Story posting. Update
the wording in the Phase 5 section to focus on the missing renderer-produced mp4
wiring from `MediaSpec` into the publish paths, using the existing platform
surface references (`posting.rs`, `Composer`, `CreateTweetClient`) to make clear
the gap is in video-publish integration rather than overall channel capability.
| `next_cmd` template is `augmentagent instagram login --cookies-json <path>`, | ||
| but that top-level command does not exist yet (see the NOT YET WIRED | ||
| note above), so the command in step 5 will fail until it lands. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Don't present the missing Instagram login command as runnable.
The note above says the command/router do not exist yet, but Step 5 still tells the skill to execute augmentagent instagram login. That makes the runbook self-contradictory and guarantees a failure if followed literally.
Also applies to: 54-57
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@skills/augmentagent-setup/channels/instagram.md` around lines 45 - 47, The
Instagram setup guide is self-contradictory because it presents `augmentagent
instagram login` as if it were runnable even though the top-level command is not
wired yet. Update the affected steps in the Instagram channel doc to clearly
mark the login action as unavailable/not yet implemented and avoid instructing
users to execute `augmentagent instagram login` until the router/command
actually exists. Refer to the `next_cmd` template and the Step 5 login
instructions so they stay consistent with the “NOT YET WIRED” note.
| ``` | ||
| cp systemd/augmentagent-renderer.service ~/.config/systemd/user/ | ||
| systemctl --user daemon-reload | ||
| systemctl --user enable --now augmentagent-renderer.service | ||
| ``` |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Label the install snippet as shell.
Markdownlint will flag this fence as unlabeled. Adding the language keeps the docs build clean and makes the commands easier to scan.
🛠 Suggested fix
-```
+```shell
cp systemd/augmentagent-renderer.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now augmentagent-renderer.service📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ``` | |
| cp systemd/augmentagent-renderer.service ~/.config/systemd/user/ | |
| systemctl --user daemon-reload | |
| systemctl --user enable --now augmentagent-renderer.service | |
| ``` |
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 61-61: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@skills/augmentagent-setup/components/systemd-units.md` around lines 61 - 65,
The install snippet in the systemd-units docs uses an unlabeled fence, which
triggers markdownlint. Update the code block around the shell commands in the
install section to use a shell language fence so the commands are properly
highlighted and the docs build stays clean.
What
Docs-only sweep that re-syncs
README.md+docs/+ the setup-skill + sidecar READMEs +.env.examplewith the current code. Produced from a per-doc accuracy audit (every claim cross-checked against the source, each finding independently verified). 23 files, docs only — no source code changed.Why
The docs had drifted hard from the now-public, macOS-capable, SocialAPI-complete codebase. The two most-read docs were materially wrong:
keyring; macOS Keychain (apple-native); cross-platform installersAUGMENTAGENT_DBPlus smaller corrections across
VAULT,SECURITY,LINKEDIN, the protocol docs, theaugmentagent-setupskill (channel count 15→16, OAuth provider list, reddit URL, timer name, doctor/troubleshooting field names), the sidecar READMEs (op counts, Wegmans, dead PM2 line, links pointing at the private archived repo), and.env.example(drop dead vars, add the live Reddit/Wegmans/VAPID/webhook-secret vars as commented placeholders).Notes
docs/LINKEDIN.mdhardcoded SSH target was deliberately not touched here — it's a separate scrub tracked in Replace hardcoded Tailscale SSH target (deploy host IP + real-name user) in harvest scripts & docs #357.PUBLISH.mdprose (generic phrasing instead) so they don't survive the Scrub personal Gmail from git history + stop the active git-config regression + fix PUBLISH.md claim #358 history rewrite.Refs #305, #357, #358, #359, #360.
Summary by CodeRabbit