Skip to content

docs: update Contributions documentation for clarity and consistency#41651

Merged
sebastianiv21 merged 7 commits intoreleasefrom
410-contribution-docs-command-context
Apr 3, 2026
Merged

docs: update Contributions documentation for clarity and consistency#41651
sebastianiv21 merged 7 commits intoreleasefrom
410-contribution-docs-command-context

Conversation

@sebastianiv21
Copy link
Copy Markdown
Contributor

@sebastianiv21 sebastianiv21 commented Mar 24, 2026

Description

Tip

Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team).

Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR.

  • Revised steps for setting up local development environment in ClientSetup.md, including clearer instructions for creating HTTPS certificates and running the backend server.
  • Enhanced ServerSetup.md with improved directory navigation instructions and environment file setup guidance.
  • Ensured consistency in command execution context across both documents, specifying when to run commands from the repo root or specific directories.

This update aims to streamline the onboarding process for new developers and improve overall documentation clarity.

Fixes #41586
or
Fixes Issue URL

Warning

If no issue exists, please create an issue first, and check with the maintainers if the issue is valid.

Automation

/ok-to-test tags="@tag.Sanity"

🔍 Cypress test results

Tip

🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/23951564708
Commit: 3488db5
Cypress dashboard.
Tags: @tag.Sanity
Spec:


Fri, 03 Apr 2026 16:01:54 UTC

Communication

Should the DevRel and Marketing teams inform users about this change?

  • Yes
  • No

Summary by CodeRabbit

  • Documentation
    • Streamlined and reorganized local client and server setup guides for clearer step flow and numbering.
    • Added explicit guidance on where to run setup and test commands (repo root vs. specific subdirectories) to reduce confusion.
    • Clarified local HTTPS and host configuration steps and cleaned up formatting for improved readability.

…d consistency

- Revised steps for setting up local development environment in ClientSetup.md, including clearer instructions for creating HTTPS certificates and running the backend server.
- Enhanced ServerSetup.md with improved directory navigation instructions and environment file setup guidance.
- Ensured consistency in command execution context across both documents, specifying when to run commands from the repo root or specific directories.

This update aims to streamline the onboarding process for new developers and improve overall documentation clarity.
@sebastianiv21 sebastianiv21 requested a review from tomjose92 March 24, 2026 18:06
@sebastianiv21 sebastianiv21 added the skip-changelog Adding this label to a PR prevents it from being listed in the changelog label Mar 24, 2026
@github-actions github-actions Bot added the Bug Something isn't working label Mar 24, 2026
@github-actions github-actions Bot added the Needs Triaging Needs attention from maintainers to triage label Mar 24, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 24, 2026

Walkthrough

Reformatted and clarified client and server setup docs to explicitly state the working directory for commands, renumbered/pruned prerequisite steps, improved HTTPS certificate and /etc/hosts guidance, and standardized test/build/start command locations and spacing across contributions/ClientSetup.md and contributions/ServerSetup.md.

Changes

Cohort / File(s) Summary
Client docs
contributions/ClientSetup.md
Reflowed and renumbered prerequisites; clarified "run from" locations for commands (repo root, app/client), reworked HTTPS certificate steps (add dev.appsmith.com to /etc/hosts, show `cat /etc/hosts
Server docs
contributions/ServerSetup.md
Added explicit working-directory context for .env copy and build steps (from app/server), RTS steps (from app/client/packages/rts), and server start/recompile/test commands; converted some code fences to console and adjusted spacing.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

Keys and paths aligned at last,
Commands now know their proper cast,
From repo root to server's den,
Docs point the way for copy and pen,
A tidy guide — start up and then. 🚀

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the primary change: updates to contribution documentation for improved clarity and consistency across setup guides.
Linked Issues check ✅ Passed The PR addresses issue #41586 by clarifying command execution context and setup instructions in ClientSetup.md, though the specific .env.example error correction is not explicitly detailed.
Out of Scope Changes check ✅ Passed All changes focus on documentation improvements (ClientSetup.md and ServerSetup.md) directly aligned with clarifying development setup instructions per issue #41586.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed PR description provides clear motivation, context, and specific changes made to both documentation files, with issue reference and automation details included.

✏️ 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 410-contribution-docs-command-context

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.

@github-actions github-actions Bot removed Bug Something isn't working skip-changelog Adding this label to a PR prevents it from being listed in the changelog labels Mar 24, 2026
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: 1

🧹 Nitpick comments (7)
contributions/ClientSetup.md (5)

15-22: Add language identifier to code block.

The bash code block is missing a language specifier.

📝 Proposed fix
-    ```
+    ```bash
     curl -s https://api.github.com/repos/FiloSottile/mkcert/releases/latest \
     | grep "browser_download_url.*linux-amd64" \
     | cut -d : -f 2,3 | tr -d \" \
     | wget -i - -O mkcert
     chmod +x  mkcert
     sudo mv mkcert /usr/local/bin
     ```
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@contributions/ClientSetup.md` around lines 15 - 22, Update the fenced code
block in the ClientSetup.md snippet so the opening fence includes a language
identifier by changing ``` to ```bash; specifically modify the triple-backtick
that precedes the curl/wget/chmod/sudo commands so the block becomes a bash code
block for proper syntax highlighting and tooling recognition.

62-64: Add language identifier to code block.

📝 Proposed fix
-    ```
+    ```bash
     echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
     ```
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@contributions/ClientSetup.md` around lines 62 - 64, The code block containing
the command echo fs.inotify.max_user_watches=524288 | sudo tee -a
/etc/sysctl.conf && sudo sysctl -p in contributions/ClientSetup.md is missing a
language identifier; update the opening triple-backtick to include bash (i.e.,
change ``` to ```bash) so syntax highlighting and tooling recognize the shell
snippet in the code fence around that command.

41-43: Add language identifier to code block.

📝 Proposed fix
-      ```
+      ```bash
       cat /etc/hosts | grep appsmith
       ```
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@contributions/ClientSetup.md` around lines 41 - 43, Add a language identifier
to the fenced code block containing the command "cat /etc/hosts | grep appsmith"
so it becomes a bash-highlighted block; locate the triple-backtick fence
surrounding that command and change the opening fence from ``` to ```bash to
enable proper syntax highlighting.

34-37: Fix list indentation for consistency.

Sub-step 2 under item 6 has the same indentation issue.

📝 Proposed fix
-  2. Add the domain `dev.appsmith.com` to `/etc/hosts`.
+   2. Add the domain `dev.appsmith.com` to `/etc/hosts`.
-    ```bash
+      ```bash
-     echo "127.0.0.1 dev.appsmith.com" | sudo tee -a /etc/hosts
+       echo "127.0.0.1 dev.appsmith.com" | sudo tee -a /etc/hosts
-    ```
+      ```
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@contributions/ClientSetup.md` around lines 34 - 37, Sub-step 2 under item 6
has inconsistent indentation for the fenced bash block and its inner line;
adjust the indentation so the opening fence ```bash, the command line echo
"127.0.0.1 dev.appsmith.com" | sudo tee -a /etc/hosts, and the closing ``` align
consistently with the surrounding list indentation (make the command indented
one level further than the fence), updating the three affected lines in the
markdown snippet to match the list's indentation.

27-33: Fix list indentation for consistency.

Sub-step 1 under item 6 has inconsistent indentation (2 spaces instead of the expected 0 for same-level items), which violates markdown formatting standards.

📝 Proposed fix
 6. **Create local HTTPS certificates**
-  1. Run from repo root:
+   1. Run from repo root:
-    ```bash
+      ```bash
-     cd app/client/docker && mkcert -install && mkcert "*.appsmith.com" && cd ../../..
+       cd app/client/docker && mkcert -install && mkcert "*.appsmith.com" && cd ../../..
-    ```
+      ```
-     This command will create 2 files in the `docker/` directory:
+      This command will create 2 files in the `docker/` directory:
-    - `_wildcard.appsmith.com-key.pem`
+      - `_wildcard.appsmith.com-key.pem`
-    - `_wildcard.appsmith.com.pem`
+      - `_wildcard.appsmith.com.pem`
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@contributions/ClientSetup.md` around lines 27 - 33, Fix the inconsistent
indentation in item 6 sub-step 1: remove the two leading spaces before the code
fence, the command line ("cd app/client/docker && mkcert -install && mkcert
\"*.appsmith.com\" && cd ../../.."), the closing fence, the explanatory sentence
("This command will create 2 files in the `docker/` directory:"), and the two
list bullets ("_wildcard.appsmith.com-key.pem" and "_wildcard.appsmith.com.pem")
so all same-level markdown elements (the ```bash fence, the command, the
explanation, and the list items) use no leading spaces and match the other
top-level list formatting.
contributions/ServerSetup.md (2)

90-92: Add language identifier to code block.

The code block is missing a language specifier.

📝 Proposed fix
-            ```
+            ```bash
             mongosh
             ```
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@contributions/ServerSetup.md` around lines 90 - 92, The fenced code block
containing the single line "mongosh" is missing a language specifier; update the
triple-backtick fence that wraps "mongosh" to include a language identifier
(e.g., change ``` to ```bash) so the block is rendered/highlighted correctly in
ServerSetup.md.

21-24: Add language identifier to code block.

The code block is missing a language specifier, which affects rendering and syntax highlighting.

📝 Proposed fix
-    ```
+    ```bash
     git clone https://github.com/appsmithorg/appsmith.git
     cd appsmith
     ```
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@contributions/ServerSetup.md` around lines 21 - 24, Update the fenced code
block containing the shell commands starting with "git clone
https://github.com/appsmithorg/appsmith.git" and "cd appsmith" to include a
language identifier by changing the opening triple backticks to "```bash" so the
block is rendered with proper shell syntax highlighting; locate the block by
searching for the exact commands or the plain triple-backtick fence and modify
only the opening fence.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@contributions/ServerSetup.md`:
- Around line 223-227: Update the Windows instructions to use the same working
directory and script path as the MacOS section: change the Windows "from
`app/server`" wording and `./scripts/start-dev-server.sh` path to "from repo
root" with `./app/server/scripts/start-dev-server.sh` so both OS sections
consistently instruct running the same script from the repository root (ensure
the Windows subsection text and the path string are updated).

---

Nitpick comments:
In `@contributions/ClientSetup.md`:
- Around line 15-22: Update the fenced code block in the ClientSetup.md snippet
so the opening fence includes a language identifier by changing ``` to ```bash;
specifically modify the triple-backtick that precedes the curl/wget/chmod/sudo
commands so the block becomes a bash code block for proper syntax highlighting
and tooling recognition.
- Around line 62-64: The code block containing the command echo
fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl
-p in contributions/ClientSetup.md is missing a language identifier; update the
opening triple-backtick to include bash (i.e., change ``` to ```bash) so syntax
highlighting and tooling recognize the shell snippet in the code fence around
that command.
- Around line 41-43: Add a language identifier to the fenced code block
containing the command "cat /etc/hosts | grep appsmith" so it becomes a
bash-highlighted block; locate the triple-backtick fence surrounding that
command and change the opening fence from ``` to ```bash to enable proper syntax
highlighting.
- Around line 34-37: Sub-step 2 under item 6 has inconsistent indentation for
the fenced bash block and its inner line; adjust the indentation so the opening
fence ```bash, the command line echo "127.0.0.1 dev.appsmith.com" | sudo tee -a
/etc/hosts, and the closing ``` align consistently with the surrounding list
indentation (make the command indented one level further than the fence),
updating the three affected lines in the markdown snippet to match the list's
indentation.
- Around line 27-33: Fix the inconsistent indentation in item 6 sub-step 1:
remove the two leading spaces before the code fence, the command line ("cd
app/client/docker && mkcert -install && mkcert \"*.appsmith.com\" && cd
../../.."), the closing fence, the explanatory sentence ("This command will
create 2 files in the `docker/` directory:"), and the two list bullets
("_wildcard.appsmith.com-key.pem" and "_wildcard.appsmith.com.pem") so all
same-level markdown elements (the ```bash fence, the command, the explanation,
and the list items) use no leading spaces and match the other top-level list
formatting.

In `@contributions/ServerSetup.md`:
- Around line 90-92: The fenced code block containing the single line "mongosh"
is missing a language specifier; update the triple-backtick fence that wraps
"mongosh" to include a language identifier (e.g., change ``` to ```bash) so the
block is rendered/highlighted correctly in ServerSetup.md.
- Around line 21-24: Update the fenced code block containing the shell commands
starting with "git clone https://github.com/appsmithorg/appsmith.git" and "cd
appsmith" to include a language identifier by changing the opening triple
backticks to "```bash" so the block is rendered with proper shell syntax
highlighting; locate the block by searching for the exact commands or the plain
triple-backtick fence and modify only the opening fence.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: ec6f4084-245d-4ad3-880b-7f3ddb1ac840

📥 Commits

Reviewing files that changed from the base of the PR and between 97e2376 and 73afb38.

📒 Files selected for processing (2)
  • contributions/ClientSetup.md
  • contributions/ServerSetup.md

Comment thread contributions/ServerSetup.md
@github-actions github-actions Bot added Bug Something isn't working and removed Bug Something isn't working labels Mar 30, 2026
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.

♻️ Duplicate comments (1)
contributions/ServerSetup.md (1)

223-227: ⚠️ Potential issue | 🟡 Minor

Standardize Java server start context across OS sections.

Line 223 uses repo root, while Line 388 uses app/server. This reintroduces cross-section inconsistency in a doc update meant to standardize command context.

Suggested doc alignment
-8. Start the Java server by running from `app/server`:
+8. Start the Java server by running from repo root:

 ```console
-./scripts/start-dev-server.sh
+./app/server/scripts/start-dev-server.sh
</details>


Also applies to: 388-392

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @contributions/ServerSetup.md around lines 223 - 227, Doc inconsistency: the
Java server start command context differs between sections; standardize usages
to the repository-relative path that points to the script under app/server.
Update the instruction that currently says to run from "repo root" (and any
other occurrences such as the block around lines 388-392) so the command
consistently references ./app/server/scripts/start-dev-server.sh and/or
instructs running from the app/server directory (use one convention across the
file). Ensure both the example command text and any surrounding context or
headings reflect the chosen context (either "from repo root run
./app/server/scripts/start-dev-server.sh" or "cd app/server &&
./scripts/start-dev-server.sh") so all references match.


</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🧹 Nitpick comments (1)</summary><blockquote>

<details>
<summary>contributions/ServerSetup.md (1)</summary><blockquote>

`21-24`: **Add languages to fenced code blocks to satisfy markdown lint.**

Line 21 and Line 90 use fenced blocks without a language specifier (`MD040` warning).



<details>
<summary>Minimal lint fix</summary>

```diff
-    ```
+    ```console
     git clone https://github.com/appsmithorg/appsmith.git
     cd appsmith
     ```

-            ```
+            ```console
             mongosh
             ```

Also applies to: 90-92

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@contributions/ServerSetup.md` around lines 21 - 24, Add language identifiers
to the fenced code blocks in ServerSetup.md that currently use plain ``` fences;
specifically update the fence before the git clone/cd snippet and the fence
before the mongosh snippet to include a language (e.g., "console") so they
become ```console, satisfying MD040 lint rules and ensuring proper markdown
highlighting.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@contributions/ServerSetup.md`:
- Around line 223-227: Doc inconsistency: the Java server start command context
differs between sections; standardize usages to the repository-relative path
that points to the script under app/server. Update the instruction that
currently says to run from "repo root" (and any other occurrences such as the
block around lines 388-392) so the command consistently references
./app/server/scripts/start-dev-server.sh and/or instructs running from the
app/server directory (use one convention across the file). Ensure both the
example command text and any surrounding context or headings reflect the chosen
context (either "from repo root run ./app/server/scripts/start-dev-server.sh" or
"cd app/server && ./scripts/start-dev-server.sh") so all references match.

---

Nitpick comments:
In `@contributions/ServerSetup.md`:
- Around line 21-24: Add language identifiers to the fenced code blocks in
ServerSetup.md that currently use plain ``` fences; specifically update the
fence before the git clone/cd snippet and the fence before the mongosh snippet
to include a language (e.g., "console") so they become ```console, satisfying
MD040 lint rules and ensuring proper markdown highlighting.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 93f99e60-4b7f-4598-851e-ae398020df3e

📥 Commits

Reviewing files that changed from the base of the PR and between 73afb38 and e7046d0.

📒 Files selected for processing (1)
  • contributions/ServerSetup.md

- Changed code block annotations from generic to `console` for better context.
- Updated instructions for starting the Java server to specify running from the repository root.
- Minor formatting adjustments for consistency and readability.
@github-actions github-actions Bot added Bug Something isn't working and removed Bug Something isn't working labels Mar 30, 2026
@sebastianiv21 sebastianiv21 added the skip-changelog Adding this label to a PR prevents it from being listed in the changelog label Mar 30, 2026
@github-actions github-actions Bot added the Bug Something isn't working label Mar 30, 2026
Copy link
Copy Markdown
Contributor

@tomjose92 tomjose92 left a comment

Choose a reason for hiding this comment

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

LGTM

@sebastianiv21 sebastianiv21 added the ok-to-test Required label for CI label Apr 3, 2026
@github-actions github-actions Bot removed Bug Something isn't working skip-changelog Adding this label to a PR prevents it from being listed in the changelog labels Apr 3, 2026
@sebastianiv21 sebastianiv21 merged commit 4325533 into release Apr 3, 2026
49 checks passed
@sebastianiv21 sebastianiv21 deleted the 410-contribution-docs-command-context branch April 3, 2026 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs Triaging Needs attention from maintainers to triage ok-to-test Required label for CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: The development setup documentation for Client has error for ".env" file

2 participants