Skip to content

docs: add missing documentation#7

Merged
NathaelB merged 1 commit into
mainfrom
docs/add-missing-documentation
Jun 16, 2026
Merged

docs: add missing documentation#7
NathaelB merged 1 commit into
mainfrom
docs/add-missing-documentation

Conversation

@LeadcodeDev

@LeadcodeDev LeadcodeDev commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features

    • Added comprehensive Email & Templates documentation guide covering SMTP configuration, transactional email flows, and template customization
    • Added Organizations module documentation with overview, member management, and custom attributes guides
  • Documentation

    • Updated documentation navigation ordering for CLI, Kubernetes, Learn, and Modules sections
    • Enhanced component display logic to prioritize title rendering

@LeadcodeDev LeadcodeDev requested a review from NathaelB June 16, 2026 19:10
@LeadcodeDev LeadcodeDev self-assigned this Jun 16, 2026
@LeadcodeDev LeadcodeDev added the enhancement New feature or request label Jun 16, 2026
@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The PR adds explicit order fields to all top-level docs section _meta.json files and wires sort-by-order logic into getProjectsInfo, with ProjectTabs falling back to project.name when project.title is absent. It also introduces complete Organizations module documentation (overview, members, attributes) and a new Email & Templates guide, cross-referencing both from existing overview pages.

Changes

Navigation Ordering Infrastructure

Layer / File(s) Summary
MetaFile interface and getProjectsInfo sort logic
apps/docs/src/lib/docs.ts, apps/docs/src/components/project-tabs.tsx
MetaFile marks title and order as optional; getProjectsInfo sorts projects by order (defaulting to Infinity) then by title/name. ProjectTabs tab label uses title ?? name.
Section _meta.json order fields
apps/docs/src/content/docs/discover/_meta.json, apps/docs/src/content/docs/learn/_meta.json, apps/docs/src/content/docs/modules/_meta.json, apps/docs/src/content/docs/kubernetes/_meta.json, apps/docs/src/content/docs/cli/_meta.json
Each top-level section receives an explicit order value (1–5), activating the new sort logic.

Organizations Module Documentation

Layer / File(s) Summary
Organization overview, members, and attributes pages
apps/docs/src/content/docs/modules/default/en/organization/*
New _meta.json and three MDX pages: overview (concept, data model, realm scoping, permissions, roadmap), members (endpoint docs, add/remove behavior, error rules), and attributes (GET/PUT/DELETE, upsert semantics, string storage warning).
Cross-reference cards and order bumps
apps/docs/src/content/docs/discover/default/en/what-is-ferriskey.mdx, apps/docs/src/content/docs/modules/default/en/overview.mdx, apps/docs/src/content/docs/discover/default/en/guides/architecture.mdx, apps/docs/src/content/docs/discover/default/en/guides/contributing.mdx
Adds Organizations card to what-is-ferriskey and modules overview; increments architecture and contributing guide order numbers to accommodate the new email page.

Email & Templates Documentation

Layer / File(s) Summary
Email & Templates guide
apps/docs/src/content/docs/discover/default/en/guides/email.mdx
New guide covering realm-scoped SMTP field reference, encryption modes, realm API endpoints, three transactional email types with toggle requirements, double-brace template interpolation, variable lookup endpoint, template CRUD, and UUID-based activation with built-in fallback.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐇 Hoppity-hop through the docs I go,
New Organizations planted in a row!
Email templates with {{double braces}} bright,
Order fields sorted perfectly right.
A title or name — whichever you see —
The rabbit has tidied the nav with such glee! 🌿

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title is too vague and generic. It uses the non-descriptive phrase 'missing documentation' without specifying what documentation was added or the primary change. Consider a more specific title that highlights the main additions, such as 'docs: add Organizations module and Email documentation' or 'docs: reorganize navigation and add new guides'.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/add-missing-documentation

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@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

🧹 Nitpick comments (2)
apps/docs/src/content/docs/discover/default/en/guides/email.mdx (2)

101-186: ⚡ Quick win

Clarify the template JSON structure format and schema.

Line 117 states "Templates are stored as a JSON structure that FerrisKey renders to MJML and then to HTML," but the example snippet at lines 196–209 shows a raw HTML excerpt with no indication of the JSON wrapper or schema. Users reading the Template API Endpoints section (lines 160–174) will need to POST or PUT a structure field, but have no documentation of what that JSON should look like or what fields it contains.

Provide an example of the complete structure JSON (or clarify whether structure is raw HTML, MJML, or a JSON object describing the email layout), and document the required/optional fields within it.

🤖 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 `@apps/docs/src/content/docs/discover/default/en/guides/email.mdx` around lines
101 - 186, The documentation mentions that templates are stored as a JSON
structure but does not provide a concrete example or schema. Add a documented
example of the complete JSON structure for email templates that shows what
fields are required (such as the email layout/content representation) and which
are optional. Clarify whether the structure contains raw HTML, MJML markup, or a
JSON object schema that describes the email layout, and document all required
and optional fields within that structure so users understand exactly what to
send in POST and PUT requests to the Template API Endpoints.

87-97: ⚡ Quick win

Missing guidance: Where to enable the email type toggles in the Console.

The table documents three realm toggles (forgot_password_enabled, magic_link_enabled, email_verification_enabled) required to send each email type, but there's no step-by-step guidance on where to find and enable these toggles in the Console. The SMTP configuration steps (lines 54–79) are clear and thorough, but the email type toggles lack equivalent instruction. Users following this guide will configure SMTP but may not know how to activate the actual email types.

Consider adding a second step group (after "Configure SMTP in the Console") that walks users through enabling the email type toggles, similar to the SMTP steps.

🤖 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 `@apps/docs/src/content/docs/discover/default/en/guides/email.mdx` around lines
87 - 97, The Transactional Emails section documents the three required realm
toggles (forgot_password_enabled, magic_link_enabled,
email_verification_enabled) in a table but lacks step-by-step guidance on how to
enable them in the Console. Add a new instruction section after the SMTP
configuration steps that walks users through navigating to Realm Settings in the
Console and enabling each of the three email type toggles (Password reset, Magic
link, and Email verification), providing equivalent clarity and detail to the
existing SMTP configuration instructions.
🤖 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 `@apps/docs/src/content/docs/cli/_meta.json`:
- Line 3: The title field in the _meta.json file has been changed from the
standard uppercase "CLI" abbreviation to "Cli". Restore it back to "CLI" to
maintain consistency with the conventional industry standard abbreviation for
Command Line Interface.

---

Nitpick comments:
In `@apps/docs/src/content/docs/discover/default/en/guides/email.mdx`:
- Around line 101-186: The documentation mentions that templates are stored as a
JSON structure but does not provide a concrete example or schema. Add a
documented example of the complete JSON structure for email templates that shows
what fields are required (such as the email layout/content representation) and
which are optional. Clarify whether the structure contains raw HTML, MJML
markup, or a JSON object schema that describes the email layout, and document
all required and optional fields within that structure so users understand
exactly what to send in POST and PUT requests to the Template API Endpoints.
- Around line 87-97: The Transactional Emails section documents the three
required realm toggles (forgot_password_enabled, magic_link_enabled,
email_verification_enabled) in a table but lacks step-by-step guidance on how to
enable them in the Console. Add a new instruction section after the SMTP
configuration steps that walks users through navigating to Realm Settings in the
Console and enabling each of the three email type toggles (Password reset, Magic
link, and Email verification), providing equivalent clarity and detail to the
existing SMTP configuration instructions.
🪄 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: 48b3321a-67a0-4ae6-9c1d-a7082d2d015d

📥 Commits

Reviewing files that changed from the base of the PR and between b7f9fc3 and b16bd45.

📒 Files selected for processing (16)
  • apps/docs/src/components/project-tabs.tsx
  • apps/docs/src/content/docs/cli/_meta.json
  • apps/docs/src/content/docs/discover/_meta.json
  • apps/docs/src/content/docs/discover/default/en/guides/architecture.mdx
  • apps/docs/src/content/docs/discover/default/en/guides/contributing.mdx
  • apps/docs/src/content/docs/discover/default/en/guides/email.mdx
  • apps/docs/src/content/docs/discover/default/en/what-is-ferriskey.mdx
  • apps/docs/src/content/docs/kubernetes/_meta.json
  • apps/docs/src/content/docs/learn/_meta.json
  • apps/docs/src/content/docs/modules/_meta.json
  • apps/docs/src/content/docs/modules/default/en/organization/_meta.json
  • apps/docs/src/content/docs/modules/default/en/organization/attributes.mdx
  • apps/docs/src/content/docs/modules/default/en/organization/members.mdx
  • apps/docs/src/content/docs/modules/default/en/organization/overview.mdx
  • apps/docs/src/content/docs/modules/default/en/overview.mdx
  • apps/docs/src/lib/docs.ts

{
"icon": "terminal",
"title": "CLI"
"title": "Cli",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Restore standard "CLI" abbreviation casing.

The title was changed from "CLI" to "Cli", but "CLI" (all uppercase) is the conventional abbreviation for "Command Line Interface" and should be preserved for consistency with industry standards.

📝 Suggested fix
-  "title": "Cli",
+  "title": "CLI",
📝 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.

Suggested change
"title": "Cli",
"title": "CLI",
🤖 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 `@apps/docs/src/content/docs/cli/_meta.json` at line 3, The title field in the
_meta.json file has been changed from the standard uppercase "CLI" abbreviation
to "Cli". Restore it back to "CLI" to maintain consistency with the conventional
industry standard abbreviation for Command Line Interface.

@NathaelB NathaelB merged commit b56498c into main Jun 16, 2026
9 checks passed
@NathaelB NathaelB deleted the docs/add-missing-documentation branch June 16, 2026 20:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants