Skip to content

docs: update the directory structure in CONTRIBUTING.md#10342

Merged
stnguyen90 merged 1 commit intoappwrite:mainfrom
tejas-raskar:doc-10339-fix-inconsistent-dir-structure-in-contribution-docs
Jan 2, 2026
Merged

docs: update the directory structure in CONTRIBUTING.md#10342
stnguyen90 merged 1 commit intoappwrite:mainfrom
tejas-raskar:doc-10339-fix-inconsistent-dir-structure-in-contribution-docs

Conversation

@tejas-raskar
Copy link
Copy Markdown
Contributor

What does this PR do?

Updates the directory structure in CONTRIBUTING.md to match the current structure.

Related PRs and Issues

Checklist

  • Have you read the Contributing Guidelines on issues?
  • If the PR includes a change to an API's metadata (desc, label, params, etc.), does it also include updated API specs and example docs?

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Aug 20, 2025

📝 Walkthrough

Walkthrough

The changes reorganize the repository structure. New app/assets (dbip, fonts, security) and app/config (avatars, collections, locale, specs, storage, templates) directories were added. Top-level items like db, sdks, tasks, views, workers were removed or moved; database init now under init/database, and views under app/views/{general,install}. Docker references were replaced with dev. Docs gained lists, references, sdks, services, specs, tutorials. Public folder dropped dist and removed scripts/styles, retaining fonts/images. Src was restructured with sdk-console, sdk-project, sdk-web and expanded Appwrite modules plus Executor. Tests now include benchmarks and extensions.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Rationale: Broad but mostly structural and organizational changes with consistent patterns across folders; minimal logic exposure and no public API declaration changes.

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions
Copy link
Copy Markdown

Security Scan Results for PR

Docker Image Scan Results

Package Version Vulnerability Severity
binutils 2.42-r0 CVE-2025-0840 HIGH
git 2.45.3-r0 CVE-2025-46334 HIGH
git 2.45.3-r0 CVE-2025-48384 HIGH
git 2.45.3-r0 CVE-2025-48385 HIGH
git-init-template 2.45.3-r0 CVE-2025-46334 HIGH
git-init-template 2.45.3-r0 CVE-2025-48384 HIGH
git-init-template 2.45.3-r0 CVE-2025-48385 HIGH
icu 74.2-r0 CVE-2025-5222 HIGH
icu-data-en 74.2-r0 CVE-2025-5222 HIGH
icu-dev 74.2-r0 CVE-2025-5222 HIGH
icu-libs 74.2-r0 CVE-2025-5222 HIGH
libexpat 2.6.4-r0 CVE-2024-8176 HIGH
libxml2 2.12.7-r0 CVE-2024-56171 HIGH
libxml2 2.12.7-r0 CVE-2025-24928 HIGH
libxml2 2.12.7-r0 CVE-2025-27113 HIGH
libxml2 2.12.7-r0 CVE-2025-32414 HIGH
libxml2 2.12.7-r0 CVE-2025-32415 HIGH
pyc 3.12.9-r0 CVE-2024-12718 HIGH
pyc 3.12.9-r0 CVE-2025-4138 HIGH
pyc 3.12.9-r0 CVE-2025-4330 HIGH
pyc 3.12.9-r0 CVE-2025-4517 HIGH
python3 3.12.9-r0 CVE-2024-12718 HIGH
python3 3.12.9-r0 CVE-2025-4138 HIGH
python3 3.12.9-r0 CVE-2025-4330 HIGH
python3 3.12.9-r0 CVE-2025-4517 HIGH
python3-pyc 3.12.9-r0 CVE-2024-12718 HIGH
python3-pyc 3.12.9-r0 CVE-2025-4138 HIGH
python3-pyc 3.12.9-r0 CVE-2025-4330 HIGH
python3-pyc 3.12.9-r0 CVE-2025-4517 HIGH
python3-pycache-pyc0 3.12.9-r0 CVE-2024-12718 HIGH
python3-pycache-pyc0 3.12.9-r0 CVE-2025-4138 HIGH
python3-pycache-pyc0 3.12.9-r0 CVE-2025-4330 HIGH
python3-pycache-pyc0 3.12.9-r0 CVE-2025-4517 HIGH
sqlite-libs 3.45.3-r1 CVE-2025-29087 HIGH
xz 5.6.2-r0 CVE-2025-31115 HIGH
xz-libs 5.6.2-r0 CVE-2025-31115 HIGH
golang.org/x/crypto v0.31.0 CVE-2025-22869 HIGH
golang.org/x/oauth2 v0.24.0 CVE-2025-22868 HIGH
stdlib 1.22.10 CVE-2025-47907 HIGH

Source Code Scan Results

🎉 No vulnerabilities found!

Copy link
Copy Markdown
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

Caution

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

⚠️ Outside diff range comments (1)
CONTRIBUTING.md (1)

540-559: Update SDK generation docs to match the new directory structure

The SDK-generation instructions in CONTRIBUTING.md (lines 540–559) still point at the old app/config/specs and app/sdks folders, which no longer exist. Please align them with the current layout:

• In CONTRIBUTING.md:
– Replace app/config/specs/swagger2-<version-number>.console.json with docs/specs/swagger2-<version-number>.console.json.
– Change “cd app/sdks/console-web” to “cd public/sdk-console” (or the appropriate public/sdk-<name> folder).
– Update the build/copy steps to pull the generated iife/sdk.js from public/sdk-console and copy it to appwrite.js.

• Verify that the CLI commands still emit specs to docs/specs (php app/cli.php specs …) and SDK bundles to public/sdk-console (php app/cli.php sdks).

• In app/config/platforms.php (around line 211), update the realpath(__DIR__ . '/../sdks/console-web') reference to point at the new public/sdk-console path.

• Remove or update the outdated "./app/sdks" entry in pint.json’s exclude list, since that directory has been removed.

These changes are required to keep the CONTRIBUTING guide accurate and prevent broken paths.

🧹 Nitpick comments (2)
CONTRIBUTING.md (2)

262-262: Close the dangling parenthetical in the src line

Minor polish: the comment starts a parenthesis but never closes it. Suggest completing the sentence.

-├── src # Supporting libraries (each lib has one role, common libs are released as
+├── src # Supporting libraries (each lib has one role; common libs are released as Composer packages)

258-261: Clarify public SDK artifacts in CONTRIBUTING.md

We’ve confirmed that public/sdk-console, public/sdk-project, and public/sdk-web are indeed committed as built SDK artifacts in this repo. To avoid confusion with the separate Console UI repo, please annotate the directory tree in CONTRIBUTING.md to indicate these folders are generated artifacts (and link back to their source repositories).

• File: CONTRIBUTING.md (around lines 258–261)
• Update the public/ section to something like:

- public/
- │   ├── sdk-console
- │   ├── sdk-project
- │   └── sdk-web
+ public/     # Prebuilt SDK artifacts (committed; generated via build scripts)
+ │   ├── sdk-console   # SDK for the Console UI (source: github.com/your-org/console)
+ │   ├── sdk-project   # SDK for Project core library
+ │   └── sdk-web       # SDK for web applications
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between acc739b and 80ad740.

📒 Files selected for processing (1)
  • CONTRIBUTING.md (1 hunks)
🔇 Additional comments (4)
CONTRIBUTING.md (4)

262-287: All Appwrite submodules confirmed

All entries in the CONTRIBUTING.md tree (including Vcs, Promises, Functions/Validator, Task/Validator, SDK) have been verified against the repo and their directory names and casing match exactly. No updates to the list are needed.


246-246: DEV directory rename validated – no local “docker/” references found

I searched the repo for any references to a top-level docker/ path and found only:

  • Workflow action names (e.g. uses: docker/setup-buildx-action@…)
  • External mentions of Docker in README-CN.md

There are no lingering links or code comments pointing to a local docker/ directory. The dev/ folder and dev/xdebug.ini are present as expected.


241-245: App directory structure verified

All of the moved paths exist and align with the names used in CONTRIBUTING.md:

  • app/init/database
  • app/views
  • app/views/general
  • app/views/install

No further changes needed.


289-294: Tests directory structure is valid and commands are up to date

All listed test directories are present under tests/:

  • benchmarks
  • e2e (including Services)
  • extensions
  • resources
  • unit

The docker compose exec appwrite test … commands in CONTRIBUTING.md (lines 612, 618, 624) correctly reference:

  • /usr/src/code/tests/unit
  • /usr/src/code/tests/e2e
  • /usr/src/code/tests/e2e/Services/[ServiceName]

No stale or broken paths detected.

@stnguyen90 stnguyen90 self-requested a review August 29, 2025 14:23
@stnguyen90 stnguyen90 merged commit f019120 into appwrite:main Jan 2, 2026
4 checks passed
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.

2 participants