Skip to content

Appwrite Generate documentation and announcement#2737

Merged
atharvadeosthale merged 7 commits intomainfrom
cli-generate-command
Feb 9, 2026
Merged

Appwrite Generate documentation and announcement#2737
atharvadeosthale merged 7 commits intomainfrom
cli-generate-command

Conversation

@atharvadeosthale
Copy link
Member

@atharvadeosthale atharvadeosthale commented Feb 4, 2026

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive Generate SDK CLI guide covering usage, options, examples, and the structure of the generated SDK.
    • Added the Generate command to the CLI commands reference.
    • Updated site navigation with a direct link to the Generate SDK documentation.
  • Content
    • Published a blog post introducing the CLI generate command, examples, and team benefits.
    • Added a cover image for the blog post.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 4, 2026

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

Walkthrough

Adds documentation and a blog post for a new Appwrite CLI generate command. New files: blog post at src/routes/blog/post/appwrite-generate/+page.markdoc and docs at src/routes/docs/tooling/command-line/generate/+page.markdoc; adds a command entry in src/routes/docs/tooling/command-line/commands/+page.markdoc; updates navigation in src/routes/docs/tooling/command-line/+layout.svelte to include "Generate SDK"; and adds a cover image entry to .optimize-cache.json.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main changes: adding documentation and a blog announcement for the Appwrite Generate CLI command feature.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch cli-generate-command

No actionable comments were generated in the recent review. 🎉


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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@src/routes/docs/tooling/command-line/generate/`+page.markdoc:
- Around line 41-61: The page uses "rows" in the Generated files section (e.g.,
mentions of types.ts and databases.ts) while elsewhere it uses "tables"—add a
single clarifying sentence near the top of the "Generated files" section (or
immediately after the # Generated files heading) stating that "tables" and
"rows" in this guide map to Appwrite "collections" and "documents" respectively,
or alternatively unify the terminology across the page by replacing "rows" with
"documents" (or "tables" with "collections") so the terms match Appwrite's core
docs; update the text that references types.ts, databases.ts, index.ts, and
constants.ts accordingly to reflect the chosen terminology.
- Around line 75-83: Update the example name strings to remove the space after
the apostrophe so the surname is "O'Brien" (not "O' Brian") in every occurrence;
locate the example usages around the customers example and calls to
customers.create / any other sample literals in this file and replace "Walter O'
Brian" (and any other "O' Brian" occurrences at lines noted) with "Walter
O'Brien" to fix the spelling.
🧹 Nitpick comments (1)
src/routes/docs/tooling/command-line/generate/+page.markdoc (1)

63-84: Generated files are .ts but code blocks use js language identifier.

Since the generated SDK targets TypeScript (per the Options table, Line 31), and the import path references a .js extension (ESM convention for TS), the code fence language could be ts for consistency. This is a minor nit — js works since the examples contain no TS-specific syntax.

Comment on lines 75 to 83
```js
const customers = databases.use("main").use("customers");

const customer = await customers.create({
name: "Walter O' Brian",
email: "walter@example.com"
});
```

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, verify the file exists and check its basic properties
ls -la src/routes/docs/tooling/command-line/generate/+page.markdoc 2>&1 || echo "File not found"
wc -l src/routes/docs/tooling/command-line/generate/+page.markdoc 2>&1 || echo "Cannot count lines"

Repository: appwrite/website

Length of output: 232


🏁 Script executed:

# Check the specific lines mentioned (75-83, 79, 103, 139, 156)
if [ -f "src/routes/docs/tooling/command-line/generate/+page.markdoc" ]; then
  echo "=== Lines 75-83 ==="
  sed -n '75,83p' src/routes/docs/tooling/command-line/generate/+page.markdoc | cat -A
  echo ""
  echo "=== Line 79 ==="
  sed -n '79p' src/routes/docs/tooling/command-line/generate/+page.markdoc | cat -A
  echo ""
  echo "=== Line 103 ==="
  sed -n '103p' src/routes/docs/tooling/command-line/generate/+page.markdoc | cat -A
  echo ""
  echo "=== Line 139 ==="
  sed -n '139p' src/routes/docs/tooling/command-line/generate/+page.markdoc | cat -A
  echo ""
  echo "=== Line 156 ==="
  sed -n '156p' src/routes/docs/tooling/command-line/generate/+page.markdoc | cat -A
fi

Repository: appwrite/website

Length of output: 538


🏁 Script executed:

# Check for curly/smart quotes and O'Brien spelling variations
if [ -f "src/routes/docs/tooling/command-line/generate/+page.markdoc" ]; then
  echo "=== Checking for smart quotes (curly apostrophes) ==="
  # Using hexdump to detect non-ASCII characters
  grep -n "O" src/routes/docs/tooling/command-line/generate/+page.markdoc | head -20
  echo ""
  echo "=== Lines containing 'O' followed by apostrophe variants ==="
  # Check for both ASCII apostrophe (') and curly quote (')
  grep -En "O.{1,2}[Bb]ri" src/routes/docs/tooling/command-line/generate/+page.markdoc
fi

Repository: appwrite/website

Length of output: 917


🏁 Script executed:

# Detailed character inspection for apostrophe types
if [ -f "src/routes/docs/tooling/command-line/generate/+page.markdoc" ]; then
  python3 << 'PYEOF'
import re

with open("src/routes/docs/tooling/command-line/generate/+page.markdoc", "r", encoding="utf-8") as f:
    lines = f.readlines()

print("=== Checking for 'O'Brien' or 'O' Brian' variants ===")
for i, line in enumerate(lines, 1):
    if re.search(r"O['''].*[Bb]rian", line):
        # Show the line with character codes for apostrophe
        apostrophe_match = re.search(r"O([''']).*[Bb]rian", line)
        if apostrophe_match:
            apos_char = apostrophe_match.group(1)
            apos_code = ord(apos_char)
            apos_name = "ASCII apostrophe (U+0027)" if apos_code == 0x0027 else f"Unicode {hex(apos_code)}"
            print(f"Line {i}: {line.strip()}")
            print(f"  Apostrophe type: {apos_name}")
PYEOF
fi

Repository: appwrite/website

Length of output: 617


Spelling: "O' Brian" → "O'Brien" (remove space after apostrophe).

The example name appears to reference the character Walter O'Brien. The surname has a spacing error in all five occurrences (lines 79, 103, 130, 139, 156)—it should be "O'Brien" without a space between the apostrophe and "Brien". The apostrophe characters are correctly using ASCII straight quotes, so no encoding issue exists.

🤖 Prompt for AI Agents
In `@src/routes/docs/tooling/command-line/generate/`+page.markdoc around lines 75
- 83, Update the example name strings to remove the space after the apostrophe
so the surname is "O'Brien" (not "O' Brian") in every occurrence; locate the
example usages around the customers example and calls to customers.create / any
other sample literals in this file and replace "Walter O' Brian" (and any other
"O' Brian" occurrences at lines noted) with "Walter O'Brien" to fix the
spelling.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@src/routes/blog/post/appwrite-generate/`+page.markdoc:
- Around line 46-50: The import and the documentation reference use mismatched
extensions (importing "./generated/appwrite/index.js" while calling out
"./generated/appwrite/constants.ts"), which is confusing; update the docs so
both references use the same extension or explicitly state the generation
target: either change the import example to "./generated/appwrite/index.ts" (and
mention the SDK is TypeScript that compiles to JS) or change the constants
reference to "./generated/appwrite/constants.js" so both show .js; ensure the
symbol referenced (databases) and the constants file name (constants) match
exactly in the text you update.

@atharvadeosthale atharvadeosthale dismissed adityaoberai’s stale review February 9, 2026 06:52

addressed & approved by Chirag

@atharvadeosthale atharvadeosthale merged commit 280df95 into main Feb 9, 2026
6 checks passed
@atharvadeosthale atharvadeosthale deleted the cli-generate-command branch February 9, 2026 06:53
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.

3 participants