Skip to content

docs: remove all em dashes and fix remaining positioning leads#412

Merged
rhuanbarreto merged 5 commits into
mainfrom
docs/style-guide-em-dash-sweep
Jun 13, 2026
Merged

docs: remove all em dashes and fix remaining positioning leads#412
rhuanbarreto merged 5 commits into
mainfrom
docs/style-guide-em-dash-sweep

Conversation

@rhuanbarreto

@rhuanbarreto rhuanbarreto commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Full em-dash sweep across all public content per writing-style-guide-en.md / writing-style-guide.md ("Em dashes are banned. No exceptions."):

  • 74 files, ~430 line replacements across en, pt-BR, and nb locales
  • Em dashes replaced with periods, commas, colons, or parentheses depending on sentence structure
  • Shim READMEs synced from updated root README (archgate check enforces parity)

Also fixes remaining positioning inconsistencies in docs/public/llms.txt:

  • Header: leads with "enterprise-grade linting and guardrails" (was "AI governance")
  • "AI-aware governance" bullet renamed to "AI-aware guardrails"
  • Domains link: "to scope and enforce rules" (was "for targeted governance")
  • Link titles: colons instead of em dashes ("Getting Started: Installation")
  • ROADMAP vision: "the standard for linting and guardrails in AI-assisted development"

Test plan

  • archgate check passes (0 errors, 0 warnings)
  • bun run build succeeds (169 pages, llms-full.txt regenerated)
  • grep -r "—" docs/src/content *.md returns zero hits (excluding CHANGELOG.md)

Summary by CodeRabbit

  • Documentation
    • Standardized punctuation and formatting across docs, READMEs, ROADMAP and assurance case for clearer prose.
    • Clarified contributor guidance and ADR validation in CI.
    • Refined installation and editor/plugin install guidance (opencode, Cursor, VS Code) and quick-start content.
    • Expanded telemetry/privacy explanations and project-init behavior.
    • Clarified suppression/opt-out syntax and polished rule examples and user-facing messages.

@coderabbitai

coderabbitai Bot commented Jun 13, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: f918afc3-6788-44be-ad40-50bfe5aaed42

📥 Commits

Reviewing files that changed from the base of the PR and between 9b7fcb2 and 73331c0.

📒 Files selected for processing (1)
  • docs/src/content/docs/pt-br/examples/no-banned-imports.mdx

📝 Walkthrough

Walkthrough

Documentation-only PR standardizing punctuation, list formatting, suppression guidance, telemetry/privacy wording, installer/plugin behavior, and example message punctuation across English, localized docs, public corpus, and shim READMEs.

Changes

Documentation Restructuring and Clarity Improvements

Layer / File(s) Summary
Core markdown and metadata
ASSURANCE-CASE.md, CONTRIBUTING.md, README.md, ROADMAP.md, docs/astro.config.mjs
Reworded and reformatted core docs and site metadata comments, standardizing punctuation and list presentation without altering assertions or commands.
Public-facing corpus (llms, public docs)
docs/public/llms-full.txt, docs/public/llms.txt
Refreshed product positioning (guardrails), reorganized reference/link lists, expanded suppression guidance and telemetry/privacy wording in the public corpus.
English docs pages and guides
docs/src/content/docs/...
Converted em-dash separators to colon/bolded labels, restructured "How it works", clarified opencode/CI behavior, reworked suppression docs and multiple example messages.
Rule examples & API reference
docs/src/content/docs/examples/*, docs/src/content/docs/reference/rule-api.mdx
Adjusted example rule messages and comments for punctuation/clarity; standardized ReportDetail/ViolationDetail field descriptions and inline suppression wording.
Telemetry & privacy references
docs/src/content/docs/reference/telemetry.mdx, docs/src/content/docs/reference/privacy-policy.mdx
Clarified anonymous telemetry fields (command, flag presence, exit, duration, hashed repo_id, coarse geo), one-time project_initialized identity rules (public repos only), IP anonymization, proxy forwarding, and legal basis wording.
Installation & integrations
docs/src/content/docs/getting-started/*, docs/src/content/docs/guides/*, docs/src/content/docs/reference/cli/*
Clarified standalone/npm/wrapper distinctions, opencode agent user-scope behavior and PATH requirement, and CI/--ci notes for GitHub Actions.
Localized docs: Portuguese & Norwegian
docs/src/content/docs/pt-br/**, docs/src/content/docs/nb/**
Applied parallel punctuation/formatting and content-parity changes across PT-BR and NB localized docs.
Shim README alignment
shims/*/README.md
Harmonized README wording and plugin callouts across Go, Maven, NuGet, PyPI, and RubyGem shims.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • archgate/cli#408: Overlaps with guardrails/governance wording and related public docs positioning.
  • archgate/cli#411: Overlaps with similar documentation reframing across README and public docs.

"🐰 I hopped through punctuation so neat,
Colons and bolds made docs complete.
Guardrails tuned, examples bright,
Small edits, tidy sight.
Hooray — docs ready for a clean sheet."

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/style-guide-em-dash-sweep

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 13, 2026

Copy link
Copy Markdown

Deploying archgate-cli with  Cloudflare Pages  Cloudflare Pages

Latest commit: 73331c0
Status: ✅  Deploy successful!
Preview URL: https://eabd9320.archgate-cli.pages.dev
Branch Preview URL: https://docs-style-guide-em-dash-swe.archgate-cli.pages.dev

View logs

…ng leads

Full sweep of en, pt-BR, and nb docs content, astro config, llms.txt,
README, ROADMAP, CONTRIBUTING, and ASSURANCE-CASE. Em dashes replaced
with periods, commas, colons, or parentheses per writing-style-guide-en.md.

Also fixes llms.txt positioning: header leads with "enterprise-grade
linting and guardrails", "AI-aware governance" renamed to "AI-aware
guardrails", domains description aligned to "scope and enforce rules",
and ROADMAP vision sentence tightened.

Shim READMEs synced from updated root README.

Signed-off-by: Rhuan Barreto <rhuan@barreto.work>
@rhuanbarreto rhuanbarreto force-pushed the docs/style-guide-em-dash-sweep branch from 1cafe67 to d1e1248 Compare June 13, 2026 10:21

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 13

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
README.md (1)

67-76: 🧹 Nitpick | 🔵 Trivial

README plugins section: no navigation/discoverability break; optional SEO link improvement

The individual plugin guide pages still exist and are wired into the docs site navigation (docs/astro.config.mjs sidebar slugs) and linked from other docs entry points like docs/src/content/docs/index.mdx and getting-started pages—so removing the explicit plugin list/login/init examples from README.md shouldn’t orphan those guides.

Optional: README.md now only links directly to the Claude Code guide (“Get started with plugins” points to /guides/claude-code-plugin/). If you want the Cursor/VS Code/Copilot guides to be more discoverable from the README (SEO / quick scanning), add additional links or point to a central plugins/integrations landing page.

🤖 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 `@README.md` around lines 67 - 76, Summary: The README "Plugins" section
currently only links to the Claude Code guide and removes discoverability for
other editor integrations; restore or centralize plugin links to improve
navigation/SEO. Update the plugins paragraph (the block that currently says
"Plugins are available for Claude Code and Cursor" and shows the archgate
login/init example and the "Get started with plugins" CTA) to either (A) add
explicit links for the other integration guides (e.g., Cursor, VS Code, Copilot)
alongside the Claude Code link and keep the login/init snippet, or (B) replace
the single Claude Code CTA with a single link to a central "Plugins /
Integrations" landing page that aggregates all guides, and keep or remove the
archgate login/init example as you prefer; ensure the visible anchor text
matches existing guide slugs (e.g., "Get started with plugins" →
/guides/claude-code-plugin/ or the central landing) so searches and sidebar
navigation remain effective.
docs/public/llms-full.txt (1)

5654-5663: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add the missing node:path imports in the pasted examples.

These snippets use basename, join, and relative without importing them, so the examples do not compile as written. Please add the corresponding imports in each affected snippet.

  • docs/public/llms-full.txt#L5654-L5663: import basename.
  • docs/public/llms-full.txt#L6884-L6901: import join.
  • docs/public/llms-full.txt#L7008-L7022: import relative.
🤖 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/public/llms-full.txt` around lines 5654 - 5663, Add missing node:path
imports for the examples: in docs/public/llms-full.txt (5654-5663) add an import
for basename (e.g., import { basename } from "node:path") so the
"kebab-case-filenames" rule's check function can call basename; in
docs/public/llms-full.txt (6884-6901) add an import for join (e.g., import {
join } from "node:path") for the snippet that uses join; and in
docs/public/llms-full.txt (7008-7022) add an import for relative (e.g., import {
relative } from "node:path") for the snippet that calls relative. Ensure each
import is placed with the other imports in the same snippet so the examples
compile.
docs/src/content/docs/pt-br/reference/rule-api.mdx (1)

26-26: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix Portuguese gender agreement: "um flag" → "uma flag".

Per LanguageTool, the word "flag" (borrowed from English) is treated as feminine in Portuguese; the article should be "uma" not "um".

✏️ Proposed fix
- `repo_is_git` e um flag `repo_public`. Para repositórios confir...
+ `repo_is_git` e uma flag `repo_public`. Para repositórios confir...
🤖 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/src/content/docs/pt-br/reference/rule-api.mdx` at line 26, Change the
incorrect masculine article "um flag" to the feminine form "uma flag" in the
sentence describing rule file exports (the sentence containing the phrase "um
flag"); keep the rest of the sentence and the inline code (`rules`, `satisfies
RuleSet`) intact.

Source: Linters/SAST tools

🤖 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 `@docs/public/llms-full.txt`:
- Around line 1-3: CI indicates the generated corpus is stale; rerun the
generator command (bun run docs/scripts/generate-llms-full.ts) to regenerate
llms-full.txt and commit the updated file so docs/public/llms-full.txt matches
the generator output.
- Around line 5787-5790: The code uses
ctx.glob("node_modules/{*,@*/*}/package.json") which only finds top-level
packages and therefore misses transitive (nested) dependencies; change the scan
in the pkgFiles assignment to use a recursive pattern or a directory walk that
finds all package.json files under node_modules (for example use a recursive
glob like "**/node_modules/**/package.json" or implement a recursive filesystem
walk) so that pkgFiles truly contains package.json for both direct and
transitive packages; update the code path that consumes pkgFiles (pkgFiles
variable / any downstream loop) accordingly to handle the results from the
recursive search.

In `@docs/src/content/docs/examples/no-unapproved-deps.mdx`:
- Line 52: The docs example uses "No package.json, nothing to check" but the
ARCH-006 rule comment currently reads "return; // No package.json — nothing to
check"; update the comment in ARCH-006-dependency-policy.rules.ts to replace the
em-dash with a comma so it reads "return; // No package.json, nothing to check"
(no change needed in the docs snippet).

In `@docs/src/content/docs/examples/wrapper-enforcement.mdx`:
- Line 55: Update the example message in
docs/src/content/docs/examples/wrapper-enforcement.mdx so it matches the current
rule text: change the string that reads "Do not access process.platform
directly. Use isWindows(), isMacOS(), or isLinux() from src/helpers/platform.ts
instead." to include getPlatformInfo() as the rule does, e.g. "Do not access
process.platform directly. Use isWindows(), isMacOS(), isLinux(), or
getPlatformInfo() from src/helpers/platform.ts instead." Ensure the phrase and
listed helper names (isWindows, isMacOS, isLinux, getPlatformInfo) exactly match
the rule's message so the docs and .archgate rule remain consistent.

In `@docs/src/content/docs/pt-br/examples/no-banned-api.mdx`:
- Line 10: Insert a comma before the disjunctive conjunction "mas" in the
sentence that currently reads "Algumas APIs funcionam corretamente em uma
plataforma mas falham em outra." so it becomes "Algumas APIs funcionam
corretamente em uma plataforma, mas falham em outra."; update the surrounding
sentence that mentions the Bun shell API (`Bun.$`) accordingly to preserve
spacing and punctuation.

In `@docs/src/content/docs/pt-br/examples/no-banned-imports.mdx`:
- Line 10: Update the sentence "Equipes frequentemente banem bibliotecas pesadas
ou depreciadas em favor de alternativas mais leves ou nativas." by inserting a
comma before the final disjunctive to read "...alternativas mais leves, ou
nativas." so it conforms to the requested AP/Oxford-style consistency.

In `@docs/src/content/docs/pt-br/examples/no-todo-comments.mdx`:
- Line 44: Update the Portuguese violation message template to use parentheses
instead of a hyphen: replace the template literal message
`${match.content.trim()} - resolve before merging` with `${match.content.trim()}
(resolve before merging)` so it matches the English version and keeps locales
consistent.

In `@docs/src/content/docs/pt-br/examples/page-component-constraints.mdx`:
- Line 6: Update the sentence in page-component-constraints to remove the
redundant phrase "em tamanho": replace "Garanta que componentes de página sejam
wrappers finos de layout, pequenos em tamanho e livres de lógica de busca de
dados." with "Garanta que componentes de página sejam wrappers finos de layout,
pequenos e livres de lógica de busca de dados." to simplify the wording.

In `@docs/src/content/docs/pt-br/examples/wrapper-enforcement.mdx`:
- Around line 54-56: Replace the English violation message string currently
assigned to the "message" field (the one referencing process.platform and helper
functions) with the provided Portuguese translation: "Não acesse
process.platform diretamente. Use isWindows(), isMacOS() ou isLinux() de
src/helpers/platform.ts em vez disso." — keep the same punctuation and quotation
style and leave the rest of the rule object (including the file: m.file
reference and helper function names isWindows(), isMacOS(), isLinux())
unchanged.

In `@docs/src/content/docs/pt-br/reference/telemetry.mdx`:
- Line 43: Replace the pleonastic phrase in the sentence that currently reads "O
evento `project_initialized` é suprimido junto com todos os outros:" by removing
"junto com" and rephrasing for clarity — e.g. change it to "O evento
`project_initialized` é suprimido, assim como todos os outros:" or "O evento
`project_initialized` é suprimido juntamente com os demais:" so the sentence is
not redundant; update the text where that exact string appears.
- Around line 125-127: The three linked helper files are currently run together
on one line; split them into a proper bullet list so each entry is its own line.
In docs/src/content/docs/pt-br/reference/telemetry.mdx replace the single
combined line with three separate list items referencing
src/helpers/telemetry.ts (rastreamento de eventos PostHog),
src/helpers/sentry.ts (captura de erros Sentry), and
src/helpers/telemetry-config.ts (configuração e lógica de desativação) so each
link appears on its own line as a distinct bullet.
- Line 65: Fix the double closing punctuation and clarify the email wording in
the sentence that reads "Nenhuma informação pessoal: nenhum nome de usuário,
email ou endereço IP. Owners e nomes de repositórios..." by removing the
duplicated ")" after the cross-reference and replacing "email" with the clearer
phrase "endereço de email" (or keep "email" but ensure agreement with "um" if
you choose to keep shorter form); ensure punctuation around the cross-reference
is a single closing parenthesis and the sentence reads smoothly without double
punctuation.
- Around line 14-21: No item que lista provedores de CI (o trecho "incluindo
provedor: GitHub Actions / GitLab CI / CircleCI / etc."), adicione a vírgula
antes de "etc." para ficar "CircleCI, etc."; corrija a pontuação duplicada no
trecho que contém "truncado em 16 caracteres hex, não reversível)" removendo o
parêntese extra e ajustando a sequência para "truncado em 16 caracteres hex, não
reversível, e o nome do branch padrão" (ou similar) para evitar "))"; e corrija
a concordância de gênero no trecho que diz "um flag" para "uma flag" (encontrado
na frase que descreve "apenas a presença da flag, nunca valores").

---

Outside diff comments:
In `@docs/public/llms-full.txt`:
- Around line 5654-5663: Add missing node:path imports for the examples: in
docs/public/llms-full.txt (5654-5663) add an import for basename (e.g., import {
basename } from "node:path") so the "kebab-case-filenames" rule's check function
can call basename; in docs/public/llms-full.txt (6884-6901) add an import for
join (e.g., import { join } from "node:path") for the snippet that uses join;
and in docs/public/llms-full.txt (7008-7022) add an import for relative (e.g.,
import { relative } from "node:path") for the snippet that calls relative.
Ensure each import is placed with the other imports in the same snippet so the
examples compile.

In `@docs/src/content/docs/pt-br/reference/rule-api.mdx`:
- Line 26: Change the incorrect masculine article "um flag" to the feminine form
"uma flag" in the sentence describing rule file exports (the sentence containing
the phrase "um flag"); keep the rest of the sentence and the inline code
(`rules`, `satisfies RuleSet`) intact.

In `@README.md`:
- Around line 67-76: Summary: The README "Plugins" section currently only links
to the Claude Code guide and removes discoverability for other editor
integrations; restore or centralize plugin links to improve navigation/SEO.
Update the plugins paragraph (the block that currently says "Plugins are
available for Claude Code and Cursor" and shows the archgate login/init example
and the "Get started with plugins" CTA) to either (A) add explicit links for the
other integration guides (e.g., Cursor, VS Code, Copilot) alongside the Claude
Code link and keep the login/init snippet, or (B) replace the single Claude Code
CTA with a single link to a central "Plugins / Integrations" landing page that
aggregates all guides, and keep or remove the archgate login/init example as you
prefer; ensure the visible anchor text matches existing guide slugs (e.g., "Get
started with plugins" → /guides/claude-code-plugin/ or the central landing) so
searches and sidebar navigation remain effective.
🪄 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: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: c9857ff7-259f-40e2-a1ce-2a00621c8fb6

📥 Commits

Reviewing files that changed from the base of the PR and between 59c59bc and 1cafe67.

📒 Files selected for processing (74)
  • ASSURANCE-CASE.md
  • CONTRIBUTING.md
  • README.md
  • ROADMAP.md
  • docs/astro.config.mjs
  • docs/public/llms-full.txt
  • docs/public/llms.txt
  • docs/src/content/docs/concepts/domains.mdx
  • docs/src/content/docs/concepts/rules.mdx
  • docs/src/content/docs/examples/clean-architecture-layers.mdx
  • docs/src/content/docs/examples/license-compatibility.mdx
  • docs/src/content/docs/examples/monorepo-task-runner.mdx
  • docs/src/content/docs/examples/no-banned-api.mdx
  • docs/src/content/docs/examples/no-banned-imports.mdx
  • docs/src/content/docs/examples/no-barrel-files.mdx
  • docs/src/content/docs/examples/no-todo-comments.mdx
  • docs/src/content/docs/examples/no-unapproved-deps.mdx
  • docs/src/content/docs/examples/page-component-constraints.mdx
  • docs/src/content/docs/examples/spdx-license-headers.mdx
  • docs/src/content/docs/examples/wrapper-enforcement.mdx
  • docs/src/content/docs/getting-started/installation.mdx
  • docs/src/content/docs/getting-started/quick-start.mdx
  • docs/src/content/docs/guides/ci-integration.mdx
  • docs/src/content/docs/guides/importing-adrs.mdx
  • docs/src/content/docs/guides/opencode-integration.mdx
  • docs/src/content/docs/guides/writing-rules.mdx
  • docs/src/content/docs/index.mdx
  • docs/src/content/docs/nb/concepts/rules.mdx
  • docs/src/content/docs/nb/examples/clean-architecture-layers.mdx
  • docs/src/content/docs/nb/examples/license-compatibility.mdx
  • docs/src/content/docs/nb/examples/monorepo-task-runner.mdx
  • docs/src/content/docs/nb/examples/no-banned-api.mdx
  • docs/src/content/docs/nb/examples/no-todo-comments.mdx
  • docs/src/content/docs/nb/examples/no-unapproved-deps.mdx
  • docs/src/content/docs/nb/examples/wrapper-enforcement.mdx
  • docs/src/content/docs/nb/guides/writing-rules.mdx
  • docs/src/content/docs/nb/index.mdx
  • docs/src/content/docs/nb/reference/rule-api.mdx
  • docs/src/content/docs/pt-br/concepts/domains.mdx
  • docs/src/content/docs/pt-br/concepts/rules.mdx
  • docs/src/content/docs/pt-br/examples/clean-architecture-layers.mdx
  • docs/src/content/docs/pt-br/examples/license-compatibility.mdx
  • docs/src/content/docs/pt-br/examples/monorepo-task-runner.mdx
  • docs/src/content/docs/pt-br/examples/no-banned-api.mdx
  • docs/src/content/docs/pt-br/examples/no-banned-imports.mdx
  • docs/src/content/docs/pt-br/examples/no-barrel-files.mdx
  • docs/src/content/docs/pt-br/examples/no-todo-comments.mdx
  • docs/src/content/docs/pt-br/examples/no-unapproved-deps.mdx
  • docs/src/content/docs/pt-br/examples/page-component-constraints.mdx
  • docs/src/content/docs/pt-br/examples/spdx-license-headers.mdx
  • docs/src/content/docs/pt-br/examples/wrapper-enforcement.mdx
  • docs/src/content/docs/pt-br/getting-started/installation.mdx
  • docs/src/content/docs/pt-br/getting-started/quick-start.mdx
  • docs/src/content/docs/pt-br/guides/ci-integration.mdx
  • docs/src/content/docs/pt-br/guides/importing-adrs.mdx
  • docs/src/content/docs/pt-br/guides/writing-rules.mdx
  • docs/src/content/docs/pt-br/index.mdx
  • docs/src/content/docs/pt-br/reference/adr-schema.mdx
  • docs/src/content/docs/pt-br/reference/cli/adr.mdx
  • docs/src/content/docs/pt-br/reference/rule-api.mdx
  • docs/src/content/docs/pt-br/reference/telemetry.mdx
  • docs/src/content/docs/pt-br/studies/sentry-pr-review-friction-and-adr-pack.mdx
  • docs/src/content/docs/reference/adr-schema.mdx
  • docs/src/content/docs/reference/cli/adr.mdx
  • docs/src/content/docs/reference/cli/init.mdx
  • docs/src/content/docs/reference/cli/plugin.mdx
  • docs/src/content/docs/reference/privacy-policy.mdx
  • docs/src/content/docs/reference/rule-api.mdx
  • docs/src/content/docs/reference/telemetry.mdx
  • shims/go/README.md
  • shims/maven/README.md
  • shims/nuget/Archgate.Tool/README.md
  • shims/pypi/README.md
  • shims/rubygem/README.md

Comment thread docs/public/llms-full.txt
Comment thread docs/public/llms-full.txt
Comment thread docs/src/content/docs/examples/wrapper-enforcement.mdx Outdated
Comment thread docs/src/content/docs/pt-br/examples/no-banned-api.mdx Outdated
Comment thread docs/src/content/docs/pt-br/examples/no-banned-imports.mdx Outdated
Comment thread docs/src/content/docs/pt-br/examples/wrapper-enforcement.mdx
Comment thread docs/src/content/docs/pt-br/reference/telemetry.mdx
Comment thread docs/src/content/docs/pt-br/reference/telemetry.mdx Outdated
Comment thread docs/src/content/docs/pt-br/reference/telemetry.mdx Outdated
Comment thread docs/src/content/docs/pt-br/reference/telemetry.mdx

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

♻️ Duplicate comments (4)
docs/src/content/docs/pt-br/examples/no-banned-imports.mdx (1)

10-10: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Unresolved: Missing comma before final disjunctive "ou" (previously flagged).

This issue was flagged in a past review comment but remains unfixed. Portuguese grammar recommends a comma before the final disjunctive "ou" for clarity in enumerations of alternatives.

Change:

Equipes frequentemente banem bibliotecas pesadas ou depreciadas em favor de alternativas mais leves ou nativas.

to:

Equipes frequentemente banem bibliotecas pesadas ou depreciadas em favor de alternativas mais leves, ou nativas.
✏️ Proposed fix
-Equipes frequentemente banem bibliotecas pesadas ou depreciadas em favor de alternativas mais leves ou nativas. Esta regra usa uma configuracao orientada a dados: um array de objetos especificando o padrao regex, o nome da biblioteca e a alternativa recomendada.
+Equipes frequentemente banem bibliotecas pesadas ou depreciadas em favor de alternativas mais leves, ou nativas. Esta regra usa uma configuracao orientada a dados: um array de objetos especificando o padrao regex, o nome da biblioteca e a alternativa recomendada.
🤖 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/src/content/docs/pt-br/examples/no-banned-imports.mdx` at line 10,
Update the sentence that reads "Equipes frequentemente banem bibliotecas pesadas
ou depreciadas em favor de alternativas mais leves ou nativas." by inserting a
comma before the final disjunctive: change it to "Equipes frequentemente banem
bibliotecas pesadas ou depreciadas em favor de alternativas mais leves, ou
nativas." to satisfy Portuguese punctuation rules.
docs/src/content/docs/pt-br/examples/no-banned-api.mdx (1)

10-10: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Unresolved: Missing comma before disjunctive "mas" (previously flagged).

This issue was flagged in a past review comment but remains unfixed. Portuguese grammar requires a comma before the disjunctive conjunction "mas" in this type of compound sentence.

Change:

Algumas APIs funcionam corretamente em uma plataforma mas falham em outra.

to:

Algumas APIs funcionam corretamente em uma plataforma, mas falham em outra.
✏️ Proposed fix
-Algumas APIs funcionam corretamente em uma plataforma mas falham em outra. Por exemplo, a API shell do Bun (`Bun.$`) trava no Windows devido a deadlocks de pipe.
+Algumas APIs funcionam corretamente em uma plataforma, mas falham em outra. Por exemplo, a API shell do Bun (`Bun.$`) trava no Windows devido a deadlocks de pipe.
🤖 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/src/content/docs/pt-br/examples/no-banned-api.mdx` at line 10, The
sentence "Algumas APIs funcionam corretamente em uma plataforma mas falham em
outra." is missing a comma before the disjunctive "mas"; update that sentence to
insert the comma so it reads "Algumas APIs funcionam corretamente em uma
plataforma, mas falham em outra." ensuring the rest of the paragraph remains
unchanged.
docs/src/content/docs/pt-br/reference/telemetry.mdx (1)

43-43: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Simplify pleonastic phrase on line 43.

"Suprimido junto com todos os outros" contains redundancy. Prior feedback suggested simplification like "suprimido quando você desativa a telemetria" or "suprimido juntamente com os demais" for clarity.

✏️ Proposed fix
- O evento `project_initialized` é suprimido junto com todos os outros:
+ O evento `project_initialized` é suprimido quando você desativa a telemetria:
🤖 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/src/content/docs/pt-br/reference/telemetry.mdx` at line 43, The phrase
"suprimido junto com todos os outros" on line 43 is pleonastic; replace it with
a simpler, clearer alternative such as "suprimido quando você desativa a
telemetria" or "suprimido juntamente com os demais" so the sentence reads
smoothly (keep the surrounding sentence "O evento `project_initialized` é ..."
intact).
docs/public/llms-full.txt (1)

1-3: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Regenerate the generated artifact.

CI still reports docs/public/llms-full.txt is out of date. Please rerun bun run docs/scripts/generate-llms-full.ts and commit the regenerated output.

🤖 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/public/llms-full.txt` around lines 1 - 3, Regenerate the out-of-date
artifact by running the documented generator and committing the result: execute
"bun run docs/scripts/generate-llms-full.ts" (or run the script at
docs/scripts/generate-llms-full.ts directly), verify docs/public/llms-full.txt
is updated, and commit the regenerated file to the branch.

Source: Pipeline failures

🤖 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 `@docs/public/llms-full.txt`:
- Around line 5141-5142: Update the two bullets that overstate exclusions:
change the "**No personal information**" bullet to clarify that sensitive
personal data (passwords, secrets) and direct identifiers like emails/IPs are
not sent, but explicitly allow the one-time project_initialized event to include
repo_owner/repo_name for public repos; and change the "**No file content**"
bullet to state that ADRs, source code, and absolute file contents/paths are not
included while noting that crash reports/stack traces may contain relative file
paths in traces—modify the two lines that start with "**No personal
information**" and "**No file content**" accordingly to mirror actual payload
behavior.

In `@docs/src/content/docs/examples/no-unapproved-deps.mdx`:
- Line 52: The ARCH-006 rule comment uses an em-dash but the docs example uses a
comma; update the ARCH-006 rule comment text (the comment labelled "ARCH-006" in
ARCH-006-dependency-policy.rules.ts) to replace "No package.json — nothing to
check" with "No package.json, nothing to check" so the rule comment matches the
docs example.

In `@docs/src/content/docs/pt-br/reference/telemetry.mdx`:
- Line 20: Fix three punctuation/gender issues in the telemetry docs: on the
sentence containing "conforme [Anonimização de IP](`#anonimização-de-ip`))" remove
the extra closing parenthesis so it ends with a single ")" (or reword so only
one closing parenthesis appears), on the sentence containing "um flag
repo_public" change "um" to "uma" so it reads "uma flag repo_public", and remove
the extra closing parenthesis in both occurrences that end with
"...repositório)). Repositórios" so they end with a single ")" before the period
(i.e., "...repositório). Repositórios").

In `@docs/src/content/docs/reference/telemetry.mdx`:
- Line 26: The two mentions of which hosts are considered for public repo
detection are inconsistent: update the text so the platform list is identical in
the "init" event description and the "Repo identity" section; locate the "init"
event sentence referencing "GitHub / GitLab / Bitbucket" and the "Repo identity"
heading/sentence that lists "GitHub, GitLab, Bitbucket, or Azure DevOps" and
either add Azure DevOps to the init description or remove it from the Repo
identity sentence so both lines match exactly and reflect the true supported
hosts.

---

Duplicate comments:
In `@docs/public/llms-full.txt`:
- Around line 1-3: Regenerate the out-of-date artifact by running the documented
generator and committing the result: execute "bun run
docs/scripts/generate-llms-full.ts" (or run the script at
docs/scripts/generate-llms-full.ts directly), verify docs/public/llms-full.txt
is updated, and commit the regenerated file to the branch.

In `@docs/src/content/docs/pt-br/examples/no-banned-api.mdx`:
- Line 10: The sentence "Algumas APIs funcionam corretamente em uma plataforma
mas falham em outra." is missing a comma before the disjunctive "mas"; update
that sentence to insert the comma so it reads "Algumas APIs funcionam
corretamente em uma plataforma, mas falham em outra." ensuring the rest of the
paragraph remains unchanged.

In `@docs/src/content/docs/pt-br/examples/no-banned-imports.mdx`:
- Line 10: Update the sentence that reads "Equipes frequentemente banem
bibliotecas pesadas ou depreciadas em favor de alternativas mais leves ou
nativas." by inserting a comma before the final disjunctive: change it to
"Equipes frequentemente banem bibliotecas pesadas ou depreciadas em favor de
alternativas mais leves, ou nativas." to satisfy Portuguese punctuation rules.

In `@docs/src/content/docs/pt-br/reference/telemetry.mdx`:
- Line 43: The phrase "suprimido junto com todos os outros" on line 43 is
pleonastic; replace it with a simpler, clearer alternative such as "suprimido
quando você desativa a telemetria" or "suprimido juntamente com os demais" so
the sentence reads smoothly (keep the surrounding sentence "O evento
`project_initialized` é ..." intact).
🪄 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: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 8ee10723-55c4-4a1c-8053-5edf8a48d65f

📥 Commits

Reviewing files that changed from the base of the PR and between 1cafe67 and d1e1248.

📒 Files selected for processing (74)
  • ASSURANCE-CASE.md
  • CONTRIBUTING.md
  • README.md
  • ROADMAP.md
  • docs/astro.config.mjs
  • docs/public/llms-full.txt
  • docs/public/llms.txt
  • docs/src/content/docs/concepts/domains.mdx
  • docs/src/content/docs/concepts/rules.mdx
  • docs/src/content/docs/examples/clean-architecture-layers.mdx
  • docs/src/content/docs/examples/license-compatibility.mdx
  • docs/src/content/docs/examples/monorepo-task-runner.mdx
  • docs/src/content/docs/examples/no-banned-api.mdx
  • docs/src/content/docs/examples/no-banned-imports.mdx
  • docs/src/content/docs/examples/no-barrel-files.mdx
  • docs/src/content/docs/examples/no-todo-comments.mdx
  • docs/src/content/docs/examples/no-unapproved-deps.mdx
  • docs/src/content/docs/examples/page-component-constraints.mdx
  • docs/src/content/docs/examples/spdx-license-headers.mdx
  • docs/src/content/docs/examples/wrapper-enforcement.mdx
  • docs/src/content/docs/getting-started/installation.mdx
  • docs/src/content/docs/getting-started/quick-start.mdx
  • docs/src/content/docs/guides/ci-integration.mdx
  • docs/src/content/docs/guides/importing-adrs.mdx
  • docs/src/content/docs/guides/opencode-integration.mdx
  • docs/src/content/docs/guides/writing-rules.mdx
  • docs/src/content/docs/index.mdx
  • docs/src/content/docs/nb/concepts/rules.mdx
  • docs/src/content/docs/nb/examples/clean-architecture-layers.mdx
  • docs/src/content/docs/nb/examples/license-compatibility.mdx
  • docs/src/content/docs/nb/examples/monorepo-task-runner.mdx
  • docs/src/content/docs/nb/examples/no-banned-api.mdx
  • docs/src/content/docs/nb/examples/no-todo-comments.mdx
  • docs/src/content/docs/nb/examples/no-unapproved-deps.mdx
  • docs/src/content/docs/nb/examples/wrapper-enforcement.mdx
  • docs/src/content/docs/nb/guides/writing-rules.mdx
  • docs/src/content/docs/nb/index.mdx
  • docs/src/content/docs/nb/reference/rule-api.mdx
  • docs/src/content/docs/pt-br/concepts/domains.mdx
  • docs/src/content/docs/pt-br/concepts/rules.mdx
  • docs/src/content/docs/pt-br/examples/clean-architecture-layers.mdx
  • docs/src/content/docs/pt-br/examples/license-compatibility.mdx
  • docs/src/content/docs/pt-br/examples/monorepo-task-runner.mdx
  • docs/src/content/docs/pt-br/examples/no-banned-api.mdx
  • docs/src/content/docs/pt-br/examples/no-banned-imports.mdx
  • docs/src/content/docs/pt-br/examples/no-barrel-files.mdx
  • docs/src/content/docs/pt-br/examples/no-todo-comments.mdx
  • docs/src/content/docs/pt-br/examples/no-unapproved-deps.mdx
  • docs/src/content/docs/pt-br/examples/page-component-constraints.mdx
  • docs/src/content/docs/pt-br/examples/spdx-license-headers.mdx
  • docs/src/content/docs/pt-br/examples/wrapper-enforcement.mdx
  • docs/src/content/docs/pt-br/getting-started/installation.mdx
  • docs/src/content/docs/pt-br/getting-started/quick-start.mdx
  • docs/src/content/docs/pt-br/guides/ci-integration.mdx
  • docs/src/content/docs/pt-br/guides/importing-adrs.mdx
  • docs/src/content/docs/pt-br/guides/writing-rules.mdx
  • docs/src/content/docs/pt-br/index.mdx
  • docs/src/content/docs/pt-br/reference/adr-schema.mdx
  • docs/src/content/docs/pt-br/reference/cli/adr.mdx
  • docs/src/content/docs/pt-br/reference/rule-api.mdx
  • docs/src/content/docs/pt-br/reference/telemetry.mdx
  • docs/src/content/docs/pt-br/studies/sentry-pr-review-friction-and-adr-pack.mdx
  • docs/src/content/docs/reference/adr-schema.mdx
  • docs/src/content/docs/reference/cli/adr.mdx
  • docs/src/content/docs/reference/cli/init.mdx
  • docs/src/content/docs/reference/cli/plugin.mdx
  • docs/src/content/docs/reference/privacy-policy.mdx
  • docs/src/content/docs/reference/rule-api.mdx
  • docs/src/content/docs/reference/telemetry.mdx
  • shims/go/README.md
  • shims/maven/README.md
  • shims/nuget/Archgate.Tool/README.md
  • shims/pypi/README.md
  • shims/rubygem/README.md

Comment thread docs/public/llms-full.txt Outdated
Comment thread docs/src/content/docs/examples/no-unapproved-deps.mdx
Comment thread docs/src/content/docs/pt-br/reference/telemetry.mdx Outdated
Comment thread docs/src/content/docs/reference/telemetry.mdx Outdated
- Fix em dash in ARCH-006 rule comment (no-unapproved-deps)
- Fix em dash in ARCH-009 rule message (no-direct-process-platform)
- Align wrapper-enforcement example with actual rule message (add getPlatformInfo)
- pt-br: comma before "mas", parentheses in no-todo-comments, remove pleonasm
- pt-br: translate wrapper-enforcement violation message to Portuguese
- pt-br: fix telemetry gender agreement, comma before etc, remove pleonasm
- Sync 20 nb/pt-br locale files to match EN sentence restructuring
- Regenerate llms-full.txt

Signed-off-by: Rhuan Barreto <rhuan@barreto.work>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (4)
docs/public/llms-full.txt (3)

5787-5790: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use a recursive node_modules scan here.

node_modules/{*,@*/*}/package.json only reaches first-level packages, so this example still misses nested transitive dependencies even though the text says “direct AND transitive.” Switch to a recursive glob or directory walk, and update the later “Scan transitives” guidance to match.

♻️ Proposed fix
-        const pkgFiles = await ctx.glob("node_modules/{*,@*/*}/package.json");
+        const pkgFiles = await ctx.glob("node_modules/**/package.json");
🤖 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/public/llms-full.txt` around lines 5787 - 5790, The glob used to collect
packages only matches top-level modules; change the scan in the code that sets
pkgFiles (the ctx.glob call) to use a recursive pattern or a directory-walk so
nested/transitive packages are included (e.g., switch to a recursive glob like
node_modules/**/package.json or implement a recursive walk in the helper used by
ctx.glob), and update the later “Scan transitives” guidance text so it
accurately reflects that the example now scans nested node_modules rather than
only first-level packages.

5141-5142: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Narrow the file-content claim.

src/cli.ts-style relative paths can still appear in crash stack traces, so “no file paths” overstates the privacy guarantee. Reword this to exclude ADR/source contents and absolute paths, while allowing relative paths in error reports.

🔒️ Proposed fix
- **No file content**: no ADR content, source code, or file paths
+ **No file content**: no ADR content, source code, or absolute file contents/paths; crash traces may still include relative file paths
🤖 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/public/llms-full.txt` around lines 5141 - 5142, Replace the current "No
file content" bullet that broadly bans "file paths" with a narrower statement:
say that ADR content and source code are never shared, absolute paths are not
included, but clarify that relative paths (for example "src/cli.ts") may appear
in crash stack traces and are therefore permitted in error reports; update the
sentence text accordingly so it reads like a single concise bullet reflecting
this narrower privacy guarantee.

1-3: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Regenerate the generated corpus.

CI still reports this artifact as out of date, so the checked-in llms-full.txt does not match generator output. Please rerun bun run docs/scripts/generate-llms-full.ts and commit the regenerated file.

🤖 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/public/llms-full.txt` around lines 1 - 3, Regenerate the out-of-date
corpus by running the generator script and committing the result: run "bun run
docs/scripts/generate-llms-full.ts" to produce an updated llms-full.txt and
replace the checked-in docs/public/llms-full.txt with the generated output, then
stage and commit the regenerated file so CI no longer reports the artifact as
out of date.

Source: Pipeline failures

docs/src/content/docs/pt-br/reference/telemetry.mdx (1)

26-26: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix remaining double-punctuation pattern.

The markdown cross-reference creates a )). pattern (link-closing-paren + parenthetical-closing-paren + period) that LanguageTool flags as double punctuation. While technically valid, it's visually awkward. Restructure to avoid nested parentheses.

✏️ Suggested fix

Restructure the cross-reference to avoid the nested-paren pattern:

-... nome do repositório (veja [Identidade do repositório](`#identidade-do-repositório`)). Repositórios privados
+... nome do repositório. Veja [Identidade do repositório](`#identidade-do-repositório`) para detalhes. Repositórios privados

Or keep it inline with a simpler connector:

-... nome do repositório (veja [Identidade do repositório](`#identidade-do-repositório`)). Repositórios privados
+... nome do repositório; consulte [Identidade do repositório](`#identidade-do-repositório`). Repositórios privados
🤖 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/src/content/docs/pt-br/reference/telemetry.mdx` at line 26, The sentence
describing the `init` event produces a nested-parentheses pattern at the
cross-reference; edit the sentence in
docs/src/content/docs/pt-br/reference/telemetry.mdx to remove the nested `)).`
by rephrasing the link to "Identidade do repositório" without inline
parentheses—for example, end the clause with "veja Identidade do repositório."
or "veja 'Identidade do repositório'."—so the sentence about project_initialized
still mentions the repo bucket, `repo_is_git`, `repo_public` and the remote
URL/owner/name for public repos but avoids nested punctuation.

Source: Linters/SAST tools

🤖 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 `@docs/src/content/docs/pt-br/reference/privacy-policy.mdx`:
- Around line 1-3: CI reports oxfmt formatting errors in the changed markdown
file; run oxfmt (without --check) on the file
docs/src/content/docs/pt-br/reference/privacy-policy.mdx to auto-fix the
formatting, stage and commit the updated file, and push the commit so CI can
re-run; no code changes beyond the automated oxfmt reformat are needed.

---

Duplicate comments:
In `@docs/public/llms-full.txt`:
- Around line 5787-5790: The glob used to collect packages only matches
top-level modules; change the scan in the code that sets pkgFiles (the ctx.glob
call) to use a recursive pattern or a directory-walk so nested/transitive
packages are included (e.g., switch to a recursive glob like
node_modules/**/package.json or implement a recursive walk in the helper used by
ctx.glob), and update the later “Scan transitives” guidance text so it
accurately reflects that the example now scans nested node_modules rather than
only first-level packages.
- Around line 5141-5142: Replace the current "No file content" bullet that
broadly bans "file paths" with a narrower statement: say that ADR content and
source code are never shared, absolute paths are not included, but clarify that
relative paths (for example "src/cli.ts") may appear in crash stack traces and
are therefore permitted in error reports; update the sentence text accordingly
so it reads like a single concise bullet reflecting this narrower privacy
guarantee.
- Around line 1-3: Regenerate the out-of-date corpus by running the generator
script and committing the result: run "bun run
docs/scripts/generate-llms-full.ts" to produce an updated llms-full.txt and
replace the checked-in docs/public/llms-full.txt with the generated output, then
stage and commit the regenerated file so CI no longer reports the artifact as
out of date.

In `@docs/src/content/docs/pt-br/reference/telemetry.mdx`:
- Line 26: The sentence describing the `init` event produces a
nested-parentheses pattern at the cross-reference; edit the sentence in
docs/src/content/docs/pt-br/reference/telemetry.mdx to remove the nested `)).`
by rephrasing the link to "Identidade do repositório" without inline
parentheses—for example, end the clause with "veja Identidade do repositório."
or "veja 'Identidade do repositório'."—so the sentence about project_initialized
still mentions the repo bucket, `repo_is_git`, `repo_public` and the remote
URL/owner/name for public repos but avoids nested punctuation.
🪄 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: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 093b0fa5-bb5a-48d5-bfa3-6f0f3f80c5c6

📥 Commits

Reviewing files that changed from the base of the PR and between d1e1248 and 92e749f.

📒 Files selected for processing (31)
  • .archgate/adrs/ARCH-006-dependency-policy.rules.ts
  • .archgate/adrs/ARCH-009-platform-detection-helper.rules.ts
  • docs/public/llms-full.txt
  • docs/src/content/docs/examples/wrapper-enforcement.mdx
  • docs/src/content/docs/nb/concepts/domains.mdx
  • docs/src/content/docs/nb/examples/no-banned-imports.mdx
  • docs/src/content/docs/nb/examples/no-barrel-files.mdx
  • docs/src/content/docs/nb/examples/no-todo-comments.mdx
  • docs/src/content/docs/nb/examples/page-component-constraints.mdx
  • docs/src/content/docs/nb/examples/spdx-license-headers.mdx
  • docs/src/content/docs/nb/examples/wrapper-enforcement.mdx
  • docs/src/content/docs/nb/getting-started/installation.mdx
  • docs/src/content/docs/nb/getting-started/quick-start.mdx
  • docs/src/content/docs/nb/guides/ci-integration.mdx
  • docs/src/content/docs/nb/guides/importing-adrs.mdx
  • docs/src/content/docs/nb/guides/opencode-integration.mdx
  • docs/src/content/docs/nb/reference/adr-schema.mdx
  • docs/src/content/docs/nb/reference/cli/adr.mdx
  • docs/src/content/docs/nb/reference/cli/init.mdx
  • docs/src/content/docs/nb/reference/cli/plugin.mdx
  • docs/src/content/docs/nb/reference/privacy-policy.mdx
  • docs/src/content/docs/nb/reference/telemetry.mdx
  • docs/src/content/docs/pt-br/examples/no-banned-api.mdx
  • docs/src/content/docs/pt-br/examples/no-todo-comments.mdx
  • docs/src/content/docs/pt-br/examples/page-component-constraints.mdx
  • docs/src/content/docs/pt-br/examples/wrapper-enforcement.mdx
  • docs/src/content/docs/pt-br/guides/opencode-integration.mdx
  • docs/src/content/docs/pt-br/reference/cli/init.mdx
  • docs/src/content/docs/pt-br/reference/cli/plugin.mdx
  • docs/src/content/docs/pt-br/reference/privacy-policy.mdx
  • docs/src/content/docs/pt-br/reference/telemetry.mdx

Comment thread docs/src/content/docs/pt-br/reference/privacy-policy.mdx Outdated
- Tighten telemetry privacy bullets: "no usernames" overstated (public
  repos send repo_owner), "no file paths" overstated (Sentry stack
  traces may include relative paths)
- Fix platform list inconsistency: add Azure DevOps to init event
  description (line 26) matching the Repo Identity section (line 35)
- Fix double-paren patterns in pt-br telemetry (restructured cross-refs
  to use semicolons instead of nested parentheses)
- Mirror all three fixes in pt-br and nb telemetry
- Fix oxfmt formatting on pt-br/reference/privacy-policy.mdx
- Regenerate llms-full.txt

Signed-off-by: Rhuan Barreto <rhuan@barreto.work>
Signed-off-by: Rhuan Barreto <rhuan@barreto.work>
@github-actions

github-actions Bot commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Code Coverage

Metric Value
Lines 90.2% (6798 / 7533)
Threshold 90% minimum — met
Platforms Linux + Windows

Full HTML report available in workflow artifacts.

Per-directory breakdown
Directory Coverage Lines
src/commands/ 88.1% 2078 / 2359
src/engine/ 93.1% 1384 / 1486
src/formats/ 100.0% 141 / 141
src/helpers/ 90.1% 3195 / 3547

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
docs/public/llms-full.txt (2)

5787-5828: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Make the dependency scan actually recursive.

node_modules/{*,@*/*}/package.json only reaches first-level packages, so this example does not really scan transitive dependencies even though the prose says it does. The customization note is also stale: it still references allDeps, which is no longer used.

♻️ Proposed fix
-        const pkgFiles = await ctx.glob("node_modules/{*,@*/*}/package.json");
+        const pkgFiles = await ctx.glob("node_modules/**/package.json");
🤖 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/public/llms-full.txt` around lines 5787 - 5828, The glob used to collect
package.json files (currently assigned to pkgFiles via
ctx.glob("node_modules/{*,@*/*}/package.json")) only finds top-level packages;
change it to a recursive pattern such as
ctx.glob("node_modules/**/package.json") so depResults (the Promise.all over
pkgFiles) truly scans transitive deps, and keep the existing try/catch and
reporting logic (the loop that checks result.license and calls
ctx.report.violation) unchanged. Also update the surrounding prose/customization
note to remove the stale reference to allDeps and to accurately state that the
rule scans transitive packages when using the recursive glob.

1-3: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Regenerate the generated corpus.

CI is still reporting this checked-in artifact as out of date, so docs/public/llms-full.txt no longer matches bun run docs/scripts/generate-llms-full.ts. Please regenerate and commit the output.

🤖 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/public/llms-full.txt` around lines 1 - 3, CI reports the checked-in
generated corpus is out of date; run the generation script (bun run
docs/scripts/generate-llms-full.ts) to regenerate the LLMS corpus and commit the
updated output so the checked-in artifact matches the generator output.

Source: Pipeline failures

🤖 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 `@docs/src/content/docs/reference/telemetry.mdx`:
- Line 65: The current sentence makes an absolute claim ("No personal
information") then contradicts it by allowing repo_owner/repo_name in the
project_initialized event; update the wording to remove the absolute claim and
clearly scope what is and isn't collected: replace the sentence that starts with
"No personal information" with a non-absolute statement that lists examples not
collected (e.g., emails, passwords, secrets, IP addresses), and then explicitly
state that the one-time project_initialized event may include repo_owner and
repo_name only for repositories that the host has confirmed are public (see the
"Repo identity" section), while private and self-hosted repos never have
identity shared. Ensure the new text mentions the project_initialized event and
the repo_owner/repo_name fields so readers can find the related details.

---

Duplicate comments:
In `@docs/public/llms-full.txt`:
- Around line 5787-5828: The glob used to collect package.json files (currently
assigned to pkgFiles via ctx.glob("node_modules/{*,@*/*}/package.json")) only
finds top-level packages; change it to a recursive pattern such as
ctx.glob("node_modules/**/package.json") so depResults (the Promise.all over
pkgFiles) truly scans transitive deps, and keep the existing try/catch and
reporting logic (the loop that checks result.license and calls
ctx.report.violation) unchanged. Also update the surrounding prose/customization
note to remove the stale reference to allDeps and to accurately state that the
rule scans transitive packages when using the recursive glob.
- Around line 1-3: CI reports the checked-in generated corpus is out of date;
run the generation script (bun run docs/scripts/generate-llms-full.ts) to
regenerate the LLMS corpus and commit the updated output so the checked-in
artifact matches the generator output.
🪄 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: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 088fcf88-a95b-44f5-bf87-ba15cbc2994c

📥 Commits

Reviewing files that changed from the base of the PR and between 92e749f and 9b7fcb2.

📒 Files selected for processing (5)
  • docs/public/llms-full.txt
  • docs/src/content/docs/nb/reference/telemetry.mdx
  • docs/src/content/docs/pt-br/reference/privacy-policy.mdx
  • docs/src/content/docs/pt-br/reference/telemetry.mdx
  • docs/src/content/docs/reference/telemetry.mdx

Comment thread docs/src/content/docs/reference/telemetry.mdx
Signed-off-by: Rhuan Barreto <rhuan@barreto.work>
@rhuanbarreto

Copy link
Copy Markdown
Contributor Author

All three remaining CodeRabbit comments addressed in 73331c0:

  1. no-banned-imports.mdx (comma before "ou"): Added comma before final disjunctive "ou nativas".
  2. wrapper-enforcement.mdx (translate message): Already translated to Portuguese in 92e749f. Now reads: "Não acesse process.platform diretamente. Use isWindows(), isMacOS(), isLinux() ou getPlatformInfo() de src/helpers/platform.ts."
  3. telemetry.mdx (privacy bullet overstated): Already tightened in 862e863. Removed "no usernames", explicitly notes repo_owner/repo_name for public repos and relative file paths in Sentry stack traces.

@rhuanbarreto rhuanbarreto merged commit 7f2f5a4 into main Jun 13, 2026
35 of 38 checks passed
@rhuanbarreto rhuanbarreto deleted the docs/style-guide-em-dash-sweep branch June 13, 2026 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant