docs: refresh README for FOSS professionalism#1357
Conversation
Design spec for AUTH_MODE=local covering credential bootstrap, Argon2id hashing, login API, rate limiting, login form architecture, nginx integration, and security considerations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace SHA-256 hash-based timing-safe comparison with direct timingSafeEqual on padded buffers — simpler and equally secure since usernames are not secret values. Addresses CodeRabbit review feedback. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Design for refreshing README with professional structure, expanded audience positioning, and feature-forward layout. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Step-by-step plan for rewriting README with feature-forward structure, screenshot gallery, and expanded audience positioning. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace tagline with descriptive subtitle and flavour line - Add feature table, screenshot gallery, use case section - Add contributing callout with good-first-issue link - Move deployment config to Self-Hosting Guide (link only) - Move Built With Claude and Documentation sections up - Condense Acknowledgements to one-liner with link Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Move dev-facing badges (coverage, ratio, time) to Contributing section - Add conversational intro paragraph below hero - Restore "serve the dist/ folder" guidance for build-from-source Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
CodeAnt AI is reviewing your PR. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
📝 WalkthroughWalkthroughThe PR includes a major README refresh restructuring content for modern FOSS presentation with a features table and streamlined documentation flow, plus a comprehensive design specification for implementing local authentication mode covering credential management, API endpoints, rate limiting, login UI, and security considerations. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Suggested labels
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 |
|
CodeAnt AI finished reviewing your PR. |
There was a problem hiding this comment.
Actionable comments posted: 10
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/plans/2026-02-27-local-auth-design.md`:
- Line 178: Clarify the trust boundary for using the x-real-ip header: update
the design text (reference "x-real-ip", "auth logger", and "rate limiting") to
require that x-real-ip is only used when requests traverse a verified trusted
proxy (e.g., our nginx), and otherwise fall back to the connection remote
address; specify how to validate the proxy (IP whitelist or proxy header
verification) and add a short note about rejecting or ignoring x-real-ip from
untrusted sources to prevent spoofing.
- Around line 79-86: The unlabeled fenced code blocks containing the argon2
parameter list (the block starting with "type: argon2id" and the other block
referenced later) should include explicit language identifiers to satisfy MD040;
update the opening backtick fences to include a language such as "text" or
"yaml" (e.g., ```text or ```yaml) so the blocks render consistently and pass
linting, and ensure both occurrences (the argon2 config block and the similar
block later in the document) are updated.
- Line 1: Move the document titled "Design Spec: Local Authentication Mode
(`#1117`)" out of the planning docs area into the reference docs area, updating
its frontmatter/category/tags to reflect "reference" rather than "planning",
adjust any site navigation/sidebar or mkdocs/nav entries that point to it, and
update internal links or cross-references to the document so they point to the
new location.
- Around line 311-312: The CSRF middleware exemption currently checks for
"/auth/login" but the login route is implemented at "POST /api/auth/login";
update the CSRF exemption logic in security.ts (or wherever the CSRF whitelist
is defined) to exempt "/api/auth/login" (or add both "/auth/login" and
"/api/auth/login") so the credential POST to the login handler is not blocked by
CSRF checks.
In `@docs/plans/2026-02-27-readme-refresh-design.md`:
- Around line 49-72: The ordered list beginning with "7. **See It In Action**"
(items currently numbered 7..15) should restart at 1 to satisfy markdownlint
MD029; update the numeric prefixes for "See It In Action", "Who It's For",
"Quick Start", "Documentation", "Contributing", "Built With Claude",
"Acknowledgements", "Star History", and "Licence" so they start at 1 (1..9)
instead of 7..15, ensuring the list numbering is normalized.
In `@docs/plans/2026-02-27-readme-refresh-plan.md`:
- Line 13: The heading "### Task 1: Add light-mode logo to header" causes a
level jump; either promote this heading to a second-level heading (change "###
Task 1: Add light-mode logo to header" to "## Task 1: Add light-mode logo to
header") or insert an appropriate intermediate parent section (a "##" heading)
above it so that "Task 1" is nested correctly and MD001 is resolved.
- Around line 149-175: The Quick Start/Documentation section has mismatched
fenced code blocks (notably the ````markdown opener and stray closing ````)
which breaks rendering; edit the block under the "## Quick Start" and "##
Documentation" headings to use standard triple-backtick fences: change the
initial ````markdown to ```markdown, keep the internal ```bash block as ```bash
... ```, and close both markdown blocks with ``` (remove extra ```` closures) so
the markdown and bash blocks are properly balanced.
- Line 171: Update the broken documentation link by replacing the reference
string "docs/reference/ARCHITECTURE.md" with "docs/ARCHITECTURE.md" wherever it
appears in the plan file and the README template so the high-level architecture
link points to the root overview; specifically modify the link text in the plan
entry that currently contains "docs/reference/ARCHITECTURE.md" and also update
the same string in README.md (the reused template) to ensure consistent, correct
propagation.
In `@README.md`:
- Around line 47-56: The README references four screenshot files that are
missing, causing broken images; add the four PNG files named multi-rack.png,
device-library.png, export.png, and qr-share.png into the assets/screenshots/
directory (matching the names used in README) and commit them, or alternatively
remove/replace those references in README.md if you cannot provide the images;
ensure the filenames exactly match the references in README.md so the image
links resolve.
- Around line 83-85: The README's "Architecture Overview" link currently points
to docs/reference/ARCHITECTURE.md; update that link target so it points to the
root-level docs/ARCHITECTURE.md instead (change the link for "Architecture
Overview" in README.md from docs/reference/ARCHITECTURE.md to
docs/ARCHITECTURE.md).
ℹ️ Review info
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (5)
README.mdassets/screenshots/.gitkeepdocs/plans/2026-02-27-local-auth-design.mddocs/plans/2026-02-27-readme-refresh-design.mddocs/plans/2026-02-27-readme-refresh-plan.md
| @@ -0,0 +1,408 @@ | |||
| # Design Spec: Local Authentication Mode (#1117) | |||
There was a problem hiding this comment.
🛠️ Refactor suggestion | 🟠 Major
Move this technical spec out of docs/plans/ to docs/reference/.
This file is a detailed system specification, not roadmap planning, so its current location conflicts with your docs taxonomy.
As per coding guidelines, “Organize documentation by purpose: ... reference/ for specifications and technical details, planning/ for roadmap.”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/plans/2026-02-27-local-auth-design.md` at line 1, Move the document
titled "Design Spec: Local Authentication Mode (`#1117`)" out of the planning docs
area into the reference docs area, updating its frontmatter/category/tags to
reflect "reference" rather than "planning", adjust any site navigation/sidebar
or mkdocs/nav entries that point to it, and update internal links or
cross-references to the document so they point to the new location.
| ``` | ||
| type: argon2id | ||
| memoryCost: 65536 (64 MiB) | ||
| timeCost: 3 (iterations) | ||
| parallelism: 4 (threads) | ||
| hashLength: 32 (bytes) | ||
| saltLength: 16 (bytes, auto-generated) | ||
| ``` |
There was a problem hiding this comment.
Add explicit language identifiers to fenced code blocks.
The fences at Lines 79 and 143 are unlabeled (MD040). Use text (or yaml/bash where appropriate) for consistent rendering and lint compliance.
Also applies to: 143-151
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)
[warning] 79-79: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/plans/2026-02-27-local-auth-design.md` around lines 79 - 86, The
unlabeled fenced code blocks containing the argon2 parameter list (the block
starting with "type: argon2id" and the other block referenced later) should
include explicit language identifiers to satisfy MD040; update the opening
backtick fences to include a language such as "text" or "yaml" (e.g., ```text or
```yaml) so the blocks render consistently and pass linting, and ensure both
occurrences (the argon2 config block and the similar block later in the
document) are updated.
| | Storage | In-memory Map | Resets on restart (acceptable for homelab) | | ||
| | Cleanup | Every 5 minutes, prune entries > 2 min old | Prevent memory bloat | | ||
|
|
||
| **IP extraction:** `x-real-ip` header (set by nginx) — same source as auth logger. |
There was a problem hiding this comment.
Define trust boundary for x-real-ip before using it for rate limiting.
Using x-real-ip directly is spoofable unless requests are guaranteed to come only through trusted nginx. The spec should state fallback/validation behavior (e.g., trusted proxy only, else remote address).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/plans/2026-02-27-local-auth-design.md` at line 178, Clarify the trust
boundary for using the x-real-ip header: update the design text (reference
"x-real-ip", "auth logger", and "rate limiting") to require that x-real-ip is
only used when requests traverse a verified trusted proxy (e.g., our nginx), and
otherwise fall back to the connection remote address; specify how to validate
the proxy (IP whitelist or proxy header verification) and add a short note about
rejecting or ignoring x-real-ip from untrusted sources to prevent spoofing.
| Login endpoint (`POST /api/auth/login`) must be **exempt from CSRF middleware** — the user doesn't have a session cookie yet (chicken-and-egg). The existing CSRF middleware in `security.ts` already exempts `/auth/login` from CSRF checks. | ||
|
|
There was a problem hiding this comment.
CSRF exemption path is inconsistent with the proposed login endpoint.
Line 311 says CSRF exempts /auth/login, but local auth design introduces credential POST at /api/auth/login (Line 106). If implemented as written, login can fail behind CSRF middleware.
Proposed spec correction
-Login endpoint (`POST /api/auth/login`) must be **exempt from CSRF middleware** — the user doesn't have a session cookie yet (chicken-and-egg). The existing CSRF middleware in `security.ts` already exempts `/auth/login` from CSRF checks.
+Login endpoint (`POST /api/auth/login`) must be **exempt from CSRF middleware** — the user doesn't have a session cookie yet (chicken-and-egg). Ensure CSRF exemptions include `/api/auth/login` (not only `/auth/login`).📝 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.
| Login endpoint (`POST /api/auth/login`) must be **exempt from CSRF middleware** — the user doesn't have a session cookie yet (chicken-and-egg). The existing CSRF middleware in `security.ts` already exempts `/auth/login` from CSRF checks. | |
| Login endpoint (`POST /api/auth/login`) must be **exempt from CSRF middleware** — the user doesn't have a session cookie yet (chicken-and-egg). Ensure CSRF exemptions include `/api/auth/login` (not only `/auth/login`). |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/plans/2026-02-27-local-auth-design.md` around lines 311 - 312, The CSRF
middleware exemption currently checks for "/auth/login" but the login route is
implemented at "POST /api/auth/login"; update the CSRF exemption logic in
security.ts (or wherever the CSRF whitelist is defined) to exempt
"/api/auth/login" (or add both "/auth/login" and "/api/auth/login") so the
credential POST to the login handler is not blocked by CSRF checks.
| ```markdown | ||
| ## Documentation | ||
|
|
||
| - [Architecture Overview](docs/reference/ARCHITECTURE.md) |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "=== Searching for ARCHITECTURE.md ==="
fd -a '^ARCHITECTURE\.md$' docs || echo "No ARCHITECTURE.md found"
echo ""
echo "=== Searching for SPEC.md ==="
fd -a '^SPEC\.md$' docs || echo "No SPEC.md found"
echo ""
echo "=== Checking path references ==="
if [ -f README.md ]; then
rg -n "docs/reference/ARCHITECTURE\.md|docs/ARCHITECTURE\.md" README.md || echo "No references found in README.md"
fi
if [ -f docs/plans/2026-02-27-readme-refresh-plan.md ]; then
rg -n "docs/reference/ARCHITECTURE\.md|docs/ARCHITECTURE\.md" docs/plans/2026-02-27-readme-refresh-plan.md || echo "No references found in plan file"
fi
echo ""
echo "=== Listing docs directory structure ==="
ls -la docs/ || echo "docs directory not found"Repository: RackulaLives/Rackula
Length of output: 1120
Fix documentation path in plan to prevent incorrect link propagation.
Line 171 references docs/reference/ARCHITECTURE.md, but the high-level architecture overview resides at docs/ARCHITECTURE.md per organizational guidelines. This path also appears in README.md (line 83), indicating the plan template is already being reused with the incorrect link. Update to docs/ARCHITECTURE.md to align with guideline structure (high-level overview at root, reference/ for specifications and technical details).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/plans/2026-02-27-readme-refresh-plan.md` at line 171, Update the broken
documentation link by replacing the reference string
"docs/reference/ARCHITECTURE.md" with "docs/ARCHITECTURE.md" wherever it appears
in the plan file and the README template so the high-level architecture link
points to the root overview; specifically modify the link text in the plan entry
that currently contains "docs/reference/ARCHITECTURE.md" and also update the
same string in README.md (the reused template) to ensure consistent, correct
propagation.
| ## See It In Action | ||
|
|
||
| See [Self-Hosting Guide](docs/guides/SELF-HOSTING.md) for details. | ||
| <!-- TODO: Capture and add screenshots for multi-rack, device library, export, QR sharing --> | ||
|
|
||
| For production/self-hosted API security: | ||
| | | | | ||
| | ------------------------------------------------------- | -------------------------------------------------------- | | ||
| |  |  | | ||
| | _Multi-rack layouts_ | _600+ real devices_ | | ||
| |  |  | | ||
| | _Export to PNG, PDF, SVG_ | _QR code sharing_ | |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# List all files in assets/screenshots directory
echo "=== Contents of assets/screenshots/ ==="
ls -la assets/screenshots/ 2>/dev/null || echo "Directory not found"
# Search for the specific PNG files
echo ""
echo "=== Searching for referenced PNG files ==="
fd -a 'multi-rack\.png|device-library\.png|export\.png|qr-share\.png' assets/screenshots 2>/dev/null || echo "PNG files not found"
# Verify README.md references
echo ""
echo "=== README.md references to screenshots ==="
rg -n 'assets/screenshots/(multi-rack|device-library|export|qr-share)\.png' README.mdRepository: RackulaLives/Rackula
Length of output: 602
Do not merge with missing screenshot files.
The README references four screenshot images (lines 53 and 55) that do not exist in the repository. The assets/screenshots/ directory is empty, so users will see broken image placeholders when viewing the project. Add the missing files before merge:
assets/screenshots/multi-rack.pngassets/screenshots/device-library.pngassets/screenshots/export.pngassets/screenshots/qr-share.png
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@README.md` around lines 47 - 56, The README references four screenshot files
that are missing, causing broken images; add the four PNG files named
multi-rack.png, device-library.png, export.png, and qr-share.png into the
assets/screenshots/ directory (matching the names used in README) and commit
them, or alternatively remove/replace those references in README.md if you
cannot provide the images; ensure the filenames exactly match the references in
README.md so the image links resolve.
| - [Architecture Overview](docs/reference/ARCHITECTURE.md) | ||
| - [Technical Specification](docs/reference/SPEC.md) | ||
| - [Contributing Guide](CONTRIBUTING.md) | ||
| - [Self-Hosting Guide](docs/guides/SELF-HOSTING.md) |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "=== Finding ARCHITECTURE.md files ==="
fd -a '^ARCHITECTURE\.md$' docs
echo -e "\n=== Searching for references ==="
rg -n "Architecture Overview|docs/reference/ARCHITECTURE\.md|docs/ARCHITECTURE\.md" README.md docs/plans/2026-02-27-readme-refresh-plan.mdRepository: RackulaLives/Rackula
Length of output: 403
Update architecture link to point to root docs directory.
Line 83 links to docs/reference/ARCHITECTURE.md, but per documentation guidelines, docs/ARCHITECTURE.md (at the root level) is the designated location for high-level overview content. The reference directory contains technical specifications and details. Change to docs/ARCHITECTURE.md.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@README.md` around lines 83 - 85, The README's "Architecture Overview" link
currently points to docs/reference/ARCHITECTURE.md; update that link target so
it points to the root-level docs/ARCHITECTURE.md instead (change the link for
"Architecture Overview" in README.md from docs/reference/ARCHITECTURE.md to
docs/ARCHITECTURE.md).
- Fix heading levels in plan (### -> ##) for MD001 - Fix 4-backtick fenced code blocks to 3-backtick - Normalize ordered list numbering in design doc for MD029 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Plan files are working documents, not shipped artifacts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
♻️ Duplicate comments (1)
docs/plans/2026-02-27-readme-refresh-plan.md (1)
166-171:⚠️ Potential issue | 🟡 MinorUse the correct Architecture doc path in the template block.
Line 169 points to
docs/reference/ARCHITECTURE.md, but the architecture overview should link todocs/ARCHITECTURE.md. Keeping this in the plan risks reintroducing a broken path in README updates.Proposed fix
## Documentation -- [Architecture Overview](docs/reference/ARCHITECTURE.md) +- [Architecture Overview](docs/ARCHITECTURE.md) - [Technical Specification](docs/reference/SPEC.md) - [Self-Hosting Guide](docs/guides/SELF-HOSTING.md)As per coding guidelines, "
docs/**/*.md: Start withdocs/ARCHITECTURE.mdfor codebase overview and consultdocs/reference/SPEC.mdas the authoritative technical specification."🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/plans/2026-02-27-readme-refresh-plan.md` around lines 166 - 171, Update the documentation link in the template list that currently points to "docs/reference/ARCHITECTURE.md" so it references the correct top-level file "docs/ARCHITECTURE.md"; locate the markdown block containing the three bullets (the entry that reads "Architecture Overview") and replace the path string to the correct one to avoid broken links and ensure the plan uses the canonical overview document.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@docs/plans/2026-02-27-readme-refresh-plan.md`:
- Around line 166-171: Update the documentation link in the template list that
currently points to "docs/reference/ARCHITECTURE.md" so it references the
correct top-level file "docs/ARCHITECTURE.md"; locate the markdown block
containing the three bullets (the entry that reads "Architecture Overview") and
replace the path string to the correct one to avoid broken links and ensure the
plan uses the canonical overview document.
ℹ️ Review info
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (2)
docs/plans/2026-02-27-readme-refresh-design.mddocs/plans/2026-02-27-readme-refresh-plan.md
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.gitignore:
- Line 43: Remove the broad ignore of docs/plans/ from .gitignore and either
commit the finalized design docs or replace the rule with a narrower pattern
(e.g., only ignore draft files) so that files like
2026-01-21-e2e-test-infrastructure-design.md,
2026-01-27-self-hosting-guide-refactor.md,
2026-02-10-container-selfhosting-audit-checklist.md, and
2026-02-27-local-auth-design.md are tracked; update the .gitignore entry by
deleting the line "docs/plans/" or changing it to a specific pattern such as
"docs/plans/**/*.draft.md" to preserve only temporary drafts.
| .claude/plans/ | ||
| .planning/ | ||
| docs/planning/ | ||
| docs/plans/ |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Check for existing files in docs/plans/ and their status
# Check if docs/plans/ exists and list any files
if [ -d "docs/plans" ]; then
echo "=== Files in docs/plans/ ==="
find docs/plans/ -type f -exec ls -lh {} \;
echo -e "\n=== File count in docs/plans/ ==="
find docs/plans/ -type f | wc -l
echo -e "\n=== File names in docs/plans/ ==="
find docs/plans/ -type f
echo -e "\n=== Git status of docs/plans/ ==="
git status docs/plans/ 2>&1 || echo "Not yet tracked by git"
else
echo "docs/plans/ directory does not exist"
fi
# Also check if .gitignore has been modified in this commit
echo -e "\n=== Current .gitignore content (lines 40-50) ==="
sed -n '40,50p' .gitignoreRepository: RackulaLives/Rackula
Length of output: 1120
Reconsidering whether docs/plans/ should be ignored.
The directory contains 4 significant design documents:
- 2026-01-21-e2e-test-infrastructure-design.md
- 2026-01-27-self-hosting-guide-refactor.md
- 2026-02-10-container-selfhosting-audit-checklist.md
- 2026-02-27-local-auth-design.md
These are substantial project artifacts (5.5K–20K each), not ephemeral working files. Ignoring them prevents version control tracking, which is problematic for team reference, historical context, and knowledge transfer. Consider either committing these design documents and selectively ignoring only temporary drafts, or using a more specific ignore pattern such as docs/plans/**/*.draft.md to preserve finalized designs.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.gitignore at line 43, Remove the broad ignore of docs/plans/ from
.gitignore and either commit the finalized design docs or replace the rule with
a narrower pattern (e.g., only ignore draft files) so that files like
2026-01-21-e2e-test-infrastructure-design.md,
2026-01-27-self-hosting-guide-refactor.md,
2026-02-10-container-selfhosting-audit-checklist.md, and
2026-02-27-local-auth-design.md are tracked; update the .gitignore entry by
deleting the line "docs/plans/" or changing it to a specific pattern such as
"docs/plans/**/*.draft.md" to preserve only temporary drafts.
865509f to
84d4510
Compare
User description
Summary
<picture>elementCloses #1353
Screenshots still needed
The following placeholders need screenshots captured from the running app:
assets/screenshots/multi-rack.pngassets/screenshots/device-library.pngassets/screenshots/export.pngassets/screenshots/qr-share.pngTest plan
🤖 Generated with Claude Code
CodeAnt-AI Description
Refresh README to present Rackula as a polished, try-it-now FOSS project
What Changed
Impact
✅ Clearer project pitch on GitHub✅ Faster try-it-now access via direct count.racku.la link✅ Easier discovery of self-hosting and contribution info💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.