-
Notifications
You must be signed in to change notification settings - Fork 63
docs: add Quick Start for Contributors and clarify setup steps #198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for github-spy ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
WalkthroughREADME and CONTRIBUTING.md introduce a contributor Quick Start and a dependency-first setup flow (nvm guidance, root+backend install, backend Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Dev as Contributor
participant GH as Git Host
participant Local as Local Repo
Dev->>GH: Fork repository
Dev->>Local: Clone fork
Dev->>Local: Add upstream, create feature branch
Dev->>Local: Edit files, commit, rebase as needed
Dev->>GH: Push branch
Dev->>GH: Open Pull Request
Note over Dev,GH: Quick Start contributor flow (README & CONTRIBUTING)
sequenceDiagram
autonumber
participant Dev as Developer
participant Root as Project Root
participant BE as backend/
participant FE as Frontend Dev Server
participant DB as MongoDB (local)
Dev->>Root: Read README, ensure Node v18.20.3 (.nvmrc)
Dev->>Root: npm run setup
Note right of Root: runs `npm install` + `npm --prefix backend install`
Dev->>DB: Ensure MongoDB running (local or Docker)
Dev->>BE: npm start (backend) — uses backend/.env (MONGO_URI, SESSION_SECRET, PORT)
Dev->>FE: npm run dev (frontend)
Dev->>Dev: Open app in browser
Note over Root,BE: Jasmine tests use test DB and cross-env in run commands
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested labels
Poem
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
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉 Thank you @rushi-018 for your contribution. Please make sure your PR follows https://github.com/GitMetricsLab/github_tracker/blob/main/CONTRIBUTING.md#-pull-request-guidelines
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
README.md (2)
111-116: Avoid telling contributors to install runtime deps as devDependencies
express-session,passport,passport-local, andbcryptjsare runtime deps of the backend app, not Jasmine itself. Installing them as devDeps here is misleading and risks drift from package.json. Recommend relying on the repository’s existing dependencies instead.Replace the block with:
-Install all required dependencies: -```sh -npm install -npm install --save-dev jasmine @types/jasmine supertest express-session passport passport-local bcryptjs -``` +Install dependencies (root and backend): +```sh +npm install +cd backend && npm install +``` +Jasmine is already configured in the repo; if not installed, add it as a dev dependency: +```sh +npm install --save-dev jasmine +```
118-126: Update Jasmine invocation in README to use the.mjsconfigThe repository currently only includes a
spec/support/jasmine.mjsconfig (nojasmine.json), so the “Run Jasmine tests” step in the README must explicitly point to that file:• File:
README.md
• Location: Lines 118–126- 2. **Run Jasmine tests:** - ```sh - npx jasmine - ``` + 2. **Run Jasmine tests with the MJS config:** + ```sh + npx jasmine --config=spec/support/jasmine.mjs + ```
🧹 Nitpick comments (6)
README.md (6)
4-27: Nice “Quick Start” — add upstream remote/sync so contributors can keep forks currentAdding upstream helps avoid diverged branches and messy PRs. Consider inserting a brief “Add upstream and sync” step after cloning.
Apply this diff to add the step:
2 <!-- top --> 3 ## 🚩 Quick Start for Contributors @@ 2. **Clone** your fork: @@ cd github_tracker+3. Add the upstream remote (original repository) and sync:
- git remote add upstream https://github.com/GitMetricsLab/github_tracker.git
- git fetch upstream
create your branch from the latest upstream main
- git checkout -b my-first-contribution upstream/main
-3. Create a new branch for your change:
+4. Create a new branch for your change (if you didn’t in the previous step):git checkout -b my-first-contribution-4. Make your changes (e.g., edit
README.mdto improve instructions).
-5. Commit and push:
+5. Make your changes (e.g., editREADME.mdto improve instructions).
+6. Commit and push:
@@
-6. Open a Pull Request from your branch to the main repository.
+7. Open a Pull Request from your branch to the main repository.--- `21-23`: **Use Conventional Commits in the example commit message** Minor polish: prefer a scoped Conventional Commit, e.g., “docs(readme): improve setup instructions,” which aligns with conventional-changelog/semantic-release setups. ```diff - git commit -m "docs: improve README instructions" + git commit -m "docs(readme): improve setup instructions"
95-97: Fix markdownlint MD034 (bare URL) and clarify portsWrap the URL to avoid lint errors and optionally call out typical frontend/backend ports.
-Visit the URL shown in the terminal (usually http://localhost:5173). +Visit the URL shown in the terminal (usually <http://localhost:5173>). +If the backend runs locally, it typically listens on <http://localhost:3000> unless overridden.
98-99: Add a quick-start option for MongoDB via Docker (optional)A Docker one-liner helps contributors who don’t have MongoDB installed locally.
> **Note:** Make sure MongoDB is running locally (default: `mongodb://127.0.0.1:27017`). + +> Optional: Run MongoDB with Docker +> ```bash +> docker run --name github-tracker-mongo -p 27017:27017 -d mongo:6 +> ```
107-110: Call out the test database URI explicitlyYour specs connect to
mongodb://127.0.0.1:27017/github_tracker_test. Make this explicit so local runs don’t hit the dev DB by mistake.### Prerequisites - **Node.js** and **npm** installed - **MongoDB** running locally (default: `mongodb://127.0.0.1:27017`) ### Running the Tests 1. **Start MongoDB** (if not already running): @@ 2. **Run Jasmine tests:** ```sh - npx jasmine + # tests use the test database (e.g., github_tracker_test). Ensure your env/config points to it. + # Example (if your app reads MONGODB_URI): + MONGODB_URI="mongodb://127.0.0.1:27017/github_tracker_test" npx jasmineAlso applies to: 118-126 --- `71-81`: **Add a Node.js version declaration and nvm usage tip** We ran the provided script and confirmed that neither `package.json` (root or `backend/`) defines an `engines` field, nor is there a `.nvmrc` or `.node-version` file in the repo. To help new contributors avoid “wrong Node version” errors, we should: • Add a Node.js version declaration – Either add an `"engines": { "node": ">=16 <19" }` block to your root (and/or backend) `package.json`, or create a `.nvmrc` file at the project root with your chosen version (e.g. `16.20.0`). • Update the README snippet (lines 71–81) to reference that version and show how to switch with nvm. Proposed diff for `README.md`: ```diff ### 1. Install dependencies for both frontend and backend In the project root: ```bash npm installThen in the backend folder:
cd backend npm install+> Tip: Use the project’s Node.js version. If you’ve set it in
.nvmrcorpackage.json#engines, nvm will pick it up.
+>
+> With nvm:
+>bash +> nvm use # switch to the version in .nvmrc (or install it if needed) +></blockquote></details> </blockquote></details> <details> <summary>📜 Review details</summary> **Configuration used**: CodeRabbit UI **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. <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between cda5a3aa45f73f7d7d582dbf18c9a210f30e1de7 and b9e6ef38b7361d5facccb9b1d8d5f57bebe767bf. </details> <details> <summary>📒 Files selected for processing (1)</summary> * `README.md` (2 hunks) </details> <details> <summary>🧰 Additional context used</summary> <details> <summary>🪛 LanguageTool</summary> <details> <summary>README.md</summary> [grammar] ~4-~4: There might be a mistake here. Context: ... --> ## 🚩 Quick Start for Contributors Want to contribute? Here’s how to get sta... (QB_NEW_EN) </details> </details> <details> <summary>🪛 markdownlint-cli2 (0.17.2)</summary> <details> <summary>README.md</summary> 96-96: Bare URL used (MD034, no-bare-urls) </details> </details> </details> </details> <details> <summary>🔇 Additional comments (3)</summary><blockquote> <details> <summary>README.md (3)</summary><blockquote> `132-139`: **Config snippet looks good; optionally show full file path/name** No action required; snippet is clear. If you keep using `.mjs`, ensure `type: "module"` or the explicit `--config` flag as noted above. --- `89-93`: **Dev script verified – no changes needed** The root-level `package.json` includes a `dev` script (`"dev": "vite --host"`), so the `npm run dev` command in the README is correct as written. --- `83-87`: **npm start script confirmed** The `backend/package.json` defines: - `"start": "node server.js"` so the README’s `npm start` command is correct as written. No changes are needed to that section. Optional: if your backend requires any environment variables (e.g. a database URL, API keys), consider listing them just above the start instructions for clarity. Let me know if you’d like me to draft that documentation. </blockquote></details> </blockquote></details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Nitpick comments (5)
README.md (5)
131-139: Standardize code fence language and avoid re-stating earlier stepsMinor polish: use bash consistently for shell blocks and avoid repeating the earlier install steps unless needed for a self-contained section.
-Install dependencies (root and backend): -```sh -npm install -cd backend && npm install -``` -Jasmine is already configured in the repo; if not installed locally, add it as a dev dependency: -```sh -npm install --save-dev jasmine -``` +Install dependencies (root and backend) if you haven’t already: +```bash +npm install +cd backend && npm install +``` +Jasmine is already configured in the repo; if missing locally: +```bash +npm install --save-dev jasmine +```
121-125: Nice coverage overview; consider linking directly to the spec filesGood list. For fast onboarding, link each bullet to the actual test file mentioned below, or collapse both lists into one with links.
Also applies to: 171-175
34-34: Ensure CONTRIBUTING.md covers all contributor guidelinesCONTRIBUTING.md is present at the repo root, but it currently only includes the Code of Conduct. To keep your Quick Start and contributor experience in sync, please extend CONTRIBUTING.md to include:
• The branching workflow (e.g. fork the repo, add an upstream remote, branch from upstream/main)
• Commit conventions (e.g. Conventional Commits, any commitlint setup, required prefixes)
• DCO or sign-off requirements (if you enforce Developer Certificate of Origin)
• A link back to your Quick Start or README for consistencyOnce these sections are added, contributors will have a single, authoritative source for both setup and process.
78-95: Add a root-level “setup” npm script for a one-liner bootstrapWe’ve verified that there is currently no “setup” script in the root
package.json. Introducing one will streamline the install process for contributors who prefer a single command.• In
package.json(repo root), under"scripts", add:"scripts": { "dev": "vite --host", + "setup": "npm install && cd backend && npm install", // … }• In
README.md, update the install step to mention the helper script:### 1. Install dependencies for both frontend and backend In the project root: ```bash npm installThen in the backend folder:
cd backend npm install+Or, to run both in one go:
+bash +npm run setup # installs root and backend dependencies +Tip: Use the project’s Node.js version. If you’ve set it in
.nvmrcorpackage.json#engines, nvm will pick it up.With nvm:
nvm useThis change is purely additive and non-breaking, but can improve onboarding speed. --- `112-118`: **Persist MongoDB data in Docker and clarify default DB name** The current Docker command starts MongoDB in an ephemeral container—any data is lost when the container is removed. We can mount a named volume so that your database files survive container restarts/removals, and also show how to point the app at the correct database name via `MONGO_URI` (the app reads this variable by default; see `backend/.env.sample`). ```diff > Optional: Run MongoDB with Docker ```bash -docker run --name github-tracker-mongo -p 27017:27017 -d mongo:6 +docker volume create github-tracker-mongo +docker run --name github-tracker-mongo \ + -p 27017:27017 \ + -v github-tracker-mongo:/data/db \ + -d mongo:6 + +# Then, in another shell, point your app at this volume-backed database: +# export MONGO_URI="mongodb://127.0.0.1:27017/githubTracker"This mounts a Docker volume at MongoDB’s data directory and hints at the default database name (`githubTracker`) defined in `backend/.env.sample`. </blockquote></details> </blockquote></details> <details> <summary>📜 Review details</summary> **Configuration used**: CodeRabbit UI **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. <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between b9e6ef38b7361d5facccb9b1d8d5f57bebe767bf and 72ec866e38c346824db1b938a18e5a9179668575. </details> <details> <summary>📒 Files selected for processing (1)</summary> * `README.md` (3 hunks) </details> <details> <summary>🧰 Additional context used</summary> <details> <summary>🪛 LanguageTool</summary> <details> <summary>README.md</summary> [grammar] ~4-~4: There might be a mistake here. Context: ... --> ## 🚩 Quick Start for Contributors Want to contribute? Here’s how to get sta... (QB_NEW_EN) --- [grammar] ~109-~109: There might be a mistake here. Context: ...minal (usually <http://localhost:5173>). If the backend runs locally, it typicall... (QB_NEW_EN) --- [grammar] ~141-~141: There might be a mistake here. Context: ...e-dev jasmine ``` ### Running the Tests 1. **Start MongoDB** (if not already running)... (QB_NEW_EN) </details> </details> </details> </details> <details> <summary>🔇 Additional comments (1)</summary><blockquote> <details> <summary>README.md (1)</summary><blockquote> `76-111`: **Docs overall: strong improvement to onboarding flow** The dependency-first setup and explicit backend→frontend start order are clear and friendly for first-timers. The Mongo note and default URLs are useful. </blockquote></details> </blockquote></details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
…chore: add setup script
There was a problem hiding this 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
🧹 Nitpick comments (7)
package.json (1)
11-11: Make setup script more robust and cross-shell withoutcdUsing
cdinside npm scripts can be brittle (PATH/stateful) and a bit less portable. Prefer npm’s-C/--prefixto target the backend directory directly. Considernpm cifor reproducible installs in CI.Apply one of these:
- "setup": "npm install && cd backend && npm install", + "setup": "npm install && npm --prefix backend install"or with reproducible installs (great for CI/local parity):
- "setup": "npm install && cd backend && npm install", + "setup": "npm ci && npm -C backend ci"CONTRIBUTING.md (3)
41-60: Branching workflow reads well; add explicit commit example to Step 4Step 4 says “Commit your work … and push,” but only shows
git push. A tiny snippet makes it foolproof for first-timers.4. Commit your work to your topic branch and push to your fork: ```bash + git add . + git commit -m "feat: <short message>" git push -u origin <topic-branch>--- `71-77`: **DCO instructions are correct; optionally mention `--signoff` alias** As a nicety, you can add `--signoff` long form to help discoverability. ```diff -git commit -s -m "docs(readme): clarify install steps" +git commit -s --signoff -m "docs(readme): clarify install steps"
79-82: Link back is helpful; consider deep-linking to the Quick Start anchorMake it a one-click jump.
-For first-time setup and commands, see the Quick Start in `README.md`. +For first-time setup and commands, see the [Quick Start](README.md#-quick-start-for-contributors).README.md (3)
72-95: Avoid duplication; reference the new setup script hereSince you added
npm run setup, surface it as the primary path and keep manual steps as fallback.-### 1. Install dependencies for both frontend and backend - -In the project root: -```bash -npm install -``` -Then in the backend folder: -```bash -cd backend -npm install -``` -Or, to run both in one go: -```bash -npm run setup -``` +### 1. Install dependencies for both frontend and backend + +Preferred (one command): +```bash +npm run setup +``` +Fallback (manual): +```bash +npm install +cd backend && npm install +```
126-139: Mention existing Docker Compose scripts as an alternativeYou already ship
docker:dev/docker:prodscripts. Advertise them here to reduce manual steps.> Optional: Run MongoDB with Docker @@ > ``` + +Alternatively, to start the full stack with Compose: + +```bash +# Dev profile (hot reload etc.) +npm run docker:dev + +# Production-like profile +npm run docker:prod +```
152-160: Reuse the setup script in the Testing “Installation” sectionAvoids repeating per-folder installs.
-Install dependencies (root and backend) if you haven’t already: -```bash -npm install -cd backend && npm install -``` +Install dependencies (root and backend) if you haven’t already: +```bash +npm run setup +```
📜 Review details
Configuration used: CodeRabbit UI
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.
📒 Files selected for processing (4)
.nvmrc(1 hunks)CONTRIBUTING.md(1 hunks)README.md(2 hunks)package.json(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- .nvmrc
🧰 Additional context used
🪛 LanguageTool
README.md
[grammar] ~4-~4: There might be a mistake here.
Context: ... --> ## 🚩 Quick Start for Contributors Want to contribute? Here’s how to get sta...
(QB_NEW_EN)
[grammar] ~123-~123: There might be a mistake here.
Context: ...minal (usually http://localhost:5173). If the backend runs locally, it typicall...
(QB_NEW_EN)
[grammar] ~140-~140: There might be a mistake here.
Context: ... Unit & Integration Testing with Jasmine This project uses the Jasmine framework f...
(QB_NEW_EN)
[grammar] ~142-~142: There might be a mistake here.
Context: ... and integration tests. The tests cover: - [User model (password hashing, schema, pa...
(QB_NEW_EN)
[grammar] ~143-~143: There might be a mistake here.
Context: ...rd hashing, schema, password comparison)](spec/user.model.spec.cjs) - [Authentication routes (signup, login, lo...
(QB_NEW_EN)
[grammar] ~144-~144: There might be a mistake here.
Context: ...ntication routes (signup, login, logout)](spec/auth.routes.spec.cjs) - Passport authentication logic (via integ...
(QB_NEW_EN)
[grammar] ~147-~147: There might be a mistake here.
Context: ...ia integration tests) ### Prerequisites - Node.js and npm installed - **Mong...
(QB_NEW_EN)
[grammar] ~148-~148: There might be a mistake here.
Context: ...ites - Node.js and npm installed - MongoDB running locally (default: `mon...
(QB_NEW_EN)
[grammar] ~151-~151: There might be a mistake here.
Context: ...db://127.0.0.1:27017`) ### Installation Install dependencies (root and backend) ...
(QB_NEW_EN)
[grammar] ~162-~162: There might be a mistake here.
Context: ...e-dev jasmine ``` ### Running the Tests 1. Start MongoDB (if not already running)...
(QB_NEW_EN)
🔇 Additional comments (3)
CONTRIBUTING.md (1)
61-70: Conventional Commits section looks solidClear guidance with good examples. No changes needed.
README.md (2)
4-31: Quick Start is clear and contributor-friendlyNice flow (fork → branch from upstream/main → push with
-u). This will reduce common PR friction.
167-179: Cross-platform test commands look goodClear root directory note and separate macOS/Linux vs PowerShell instructions. Nice.
…chore: add setup script
There was a problem hiding this 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 (2)
README.md (2)
52-56: Fix shields badges to point to this org/repoThe badges still reference
mehul-m-prajapati/github_tracker. Update toGitMetricsLab/github_tracker.-<td><img alt="Stars" src="https://img.shields.io/github/stars/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td> -<td><img alt="Forks" src="https://img.shields.io/github/forks/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td> -<td><img alt="Issues" src="https://img.shields.io/github/issues/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td> -<td><img alt="Open Pull Requests" src="https://img.shields.io/github/issues-pr/mehul-m-prajapati/github_tracker?style=flat&logo=github"/></td> -<td><img alt="Closed Pull Requests" src="https://img.shields.io/github/issues-pr-closed/mehul-m-prajapati/github_tracker?style=flat&color=critical&logo=github"/></td> +<td><img alt="Stars" src="https://img.shields.io/github/stars/GitMetricsLab/github_tracker?style=flat&logo=github"/></td> +<td><img alt="Forks" src="https://img.shields.io/github/forks/GitMetricsLab/github_tracker?style=flat&logo=github"/></td> +<td><img alt="Issues" src="https://img.shields.io/github/issues/GitMetricsLab/github_tracker?style=flat&logo=github"/></td> +<td><img alt="Open Pull Requests" src="https://img.shields.io/github/issues-pr/GitMetricsLab/github_tracker?style=flat&logo=github"/></td> +<td><img alt="Closed Pull Requests" src="https://img.shields.io/github/issues-pr-closed/GitMetricsLab/github_tracker?style=flat&color=critical&logo=github"/></td>
217-219: Update repo link in Contributors sectionThe anchor links to
mehul-m-prajapati/github_trackerwhile the image already points toGitMetricsLab/github_tracker. Align the href to this org.- <a href="https://github.com/mehul-m-prajapati/github_tracker"> + <a href="https://github.com/GitMetricsLab/github_tracker">
🧹 Nitpick comments (8)
CONTRIBUTING.md (4)
41-62: Branching workflow looks good; add an explicit “keep up-to-date” stepNew contributors often forget to rebase/merge from upstream before opening a PR. Add a small step to keep the topic branch current with
upstream/main.Apply this diff to append a step and a safe update command:
5. Open a Pull Request from `<your-username>:<topic-branch>` to `GitMetricsLab:main`. + +6. Keep your branch up to date with the latest upstream changes: + ```bash + git fetch upstream + git rebase upstream/main + # if you've already pushed, use a safe update: + git push --force-with-lease + ```
55-60: Conventional commit example: keep imperative mood and avoid angle brackets in literal messagesThe example is fine, but some contributors may copy it verbatim. Prefer an example without placeholders.
- git commit -m "feat: <short message>" + git commit -m "feat: add contributor quick-start to README"
63-72: Link to Conventional Commits spec for clarityAdd an authoritative link so contributors can confirm types/scopes.
-This helps with change logs and automated releases. +This helps with change logs and automated releases. See https://www.conventionalcommits.org/.
73-79: DCO example uses duplicate flags
-sand--signoffare equivalent; using both is redundant.-git commit -s --signoff -m "docs(readme): clarify install steps" +git commit -s -m "docs(readme): clarify install steps"README.md (4)
4-30: Quick Start is solid; consider a one-liner to sync before branchingMinor enhancement: show how to ensure the local main is current right before creating the topic branch.
git remote add upstream https://github.com/GitMetricsLab/github_tracker.git git fetch upstream # create your branch from the latest upstream main git checkout -b my-first-contribution upstream/main + # later, to refresh your branch: + # git fetch upstream && git rebase upstream/main
118-135: Nice Docker tip; tweak env example to be directly copy-pastableUse an actual command rather than a commented example so newcomers can copy/paste; keep the comment above it.
-> # Then, point your app at this database, for example: -> # export MONGO_URI="mongodb://127.0.0.1:27017/githubTracker" +> # Then, point your app at this database, for example: +> export MONGO_URI="mongodb://127.0.0.1:27017/githubTracker"
157-165: Avoid advising global jasmine install; prefer project-local or npxTo prevent version drift across contributors, suggest
npx jasmineor add an npm script ("test": "jasmine --config=spec/support/jasmine.mjs").-Jasmine is already configured in the repo; if missing locally: -```bash -npm install --save-dev jasmine -``` +Jasmine is already configured in the repo; run it via `npx` or an npm script to avoid global installs: +```bash +npx jasmine --config=spec/support/jasmine.mjs +# or add to package.json: +# "scripts": { "test": "jasmine --config=spec/support/jasmine.mjs" } +```
172-184: Cross-platform test command looks good; offercross-envas a single-command alternativeOptional: using
cross-envprovides one command that works across shells.- # Use a test database (e.g., github_tracker_test) to avoid clobbering dev data - MONGO_URI="mongodb://127.0.0.1:27017/github_tracker_test" npx jasmine --config=spec/support/jasmine.mjs + # Use a test database (e.g., github_tracker_test) to avoid clobbering dev data + npx cross-env MONGO_URI="mongodb://127.0.0.1:27017/github_tracker_test" jasmine --config=spec/support/jasmine.mjsNote: add
cross-envas a dev dependency if you adopt this.
📜 Review details
Configuration used: CodeRabbit UI
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.
📒 Files selected for processing (3)
CONTRIBUTING.md(1 hunks)README.md(2 hunks)package.json(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- package.json
🧰 Additional context used
🪛 LanguageTool
README.md
[grammar] ~4-~4: There might be a mistake here.
Context: ... --> ## 🚩 Quick Start for Contributors Want to contribute? Here’s how to get sta...
(QB_NEW_EN)
[grammar] ~119-~119: There might be a mistake here.
Context: ...minal (usually http://localhost:5173). If the backend runs locally, it typicall...
(QB_NEW_EN)
[grammar] ~146-~146: There might be a mistake here.
Context: ... Unit & Integration Testing with Jasmine This project uses the Jasmine framework f...
(QB_NEW_EN)
[grammar] ~148-~148: There might be a mistake here.
Context: ... and integration tests. The tests cover: - [User model (password hashing, schema, pa...
(QB_NEW_EN)
[grammar] ~149-~149: There might be a mistake here.
Context: ...rd hashing, schema, password comparison)](spec/user.model.spec.cjs) - [Authentication routes (signup, login, lo...
(QB_NEW_EN)
[grammar] ~150-~150: There might be a mistake here.
Context: ...ntication routes (signup, login, logout)](spec/auth.routes.spec.cjs) - Passport authentication logic (via integ...
(QB_NEW_EN)
[grammar] ~157-~157: There might be a mistake here.
Context: ...db://127.0.0.1:27017`) ### Installation Install dependencies (root and backend) ...
(QB_NEW_EN)
[grammar] ~167-~167: There might be a mistake here.
Context: ...e-dev jasmine ``` ### Running the Tests 1. Start MongoDB (if not already running)...
(QB_NEW_EN)
🔇 Additional comments (3)
README.md (3)
92-105: Good env setup; minor clarityConsider explicitly stating that the
.envfile is only needed for the backend and lives underbackend/.
146-151: Testing section is clear and actionableGood links to concrete specs; this will help newcomers discover coverage.
136-144: Verified:docker:devanddocker:prodscripts are presentThe
package.jsonincludes both scripts referenced in the README (lines 12–13):
"docker:dev": "docker compose --profile dev up --build""docker:prod": "docker compose --profile prod up -d --build"No further changes needed.
…chore: add setup script
There was a problem hiding this 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
♻️ Duplicate comments (1)
CONTRIBUTING.md (1)
88-91: Quick Start anchor slug fixed — niceThe README anchor now correctly targets #quick-start-for-contributors (emoji ignored by GitHub). Nothing else to do.
🧹 Nitpick comments (5)
CONTRIBUTING.md (3)
56-60: Use docs(readme) instead of feat in commit exampleThis example updates documentation. Prefer Conventional Commits type docs for consistency with the section below.
- git commit -m "feat: add contributor quick-start to README" + git commit -m "docs(readme): add contributor quick-start"
63-68: Clarify safe force-push usage post-rebaseGood call using --force-with-lease. Add a short note that it should be used only after rebasing your own branch (not on shared branches).
Proposed addition:
git rebase upstream/main # if you've already pushed, use a safe update: git push --force-with-lease + # Note: use --force-with-lease only on your own topic branch after a rebase. + # Avoid force-pushing shared branches.
72-79: Avoid bare URL per markdownlint MD034Wrap the Conventional Commits site in a markdown link.
-This helps with change logs and automated releases. See https://www.conventionalcommits.org/. +This helps with change logs and automated releases. See [Conventional Commits](https://www.conventionalcommits.org/).README.md (2)
78-101: Remove duplicated nvm tip to reduce noiseYou already instruct nvm use at the start of this section. The extra tip repeats the same command.
### 1. Install dependencies for both frontend and backend First, switch to the project’s Node.js version (from `.nvmrc`) if you use nvm: ```bash nvm use@@
Fallback (manual):npm install cd backend && npm install-> Tip: Use the project’s Node.js version. If you’ve set it in
.nvmrcorpackage.json#engines, nvm will pick it up.
->
-> With nvm:
->bash -> nvm use ->--- `128-145`: **Add Windows-friendly env example in Docker note** Provide a PowerShell variant alongside export to help Windows contributors. ```diff > # Then, point your app at this database, for example: -> export MONGO_URI="mongodb://127.0.0.1:27017/githubTracker" +> # macOS/Linux (Bash): +> export MONGO_URI="mongodb://127.0.0.1:27017/githubTracker" +> # Windows (PowerShell): +> $env:MONGO_URI="mongodb://127.0.0.1:27017/githubTracker"
📜 Review details
Configuration used: CodeRabbit UI
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.
📒 Files selected for processing (2)
CONTRIBUTING.md(1 hunks)README.md(4 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[grammar] ~4-~4: There might be a mistake here.
Context: ... --> ## 🚩 Quick Start for Contributors Want to contribute? Here’s how to get sta...
(QB_NEW_EN)
[grammar] ~129-~129: There might be a mistake here.
Context: ...minal (usually http://localhost:5173). If the backend runs locally, it typicall...
(QB_NEW_EN)
[grammar] ~156-~156: There might be a mistake here.
Context: ... Unit & Integration Testing with Jasmine This project uses the Jasmine framework f...
(QB_NEW_EN)
[grammar] ~158-~158: There might be a mistake here.
Context: ... and integration tests. The tests cover: - [User model (password hashing, schema, pa...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ...rd hashing, schema, password comparison)](spec/user.model.spec.cjs) - [Authentication routes (signup, login, lo...
(QB_NEW_EN)
[grammar] ~160-~160: There might be a mistake here.
Context: ...ntication routes (signup, login, logout)](spec/auth.routes.spec.cjs) - Passport authentication logic (via integ...
(QB_NEW_EN)
[grammar] ~167-~167: There might be a mistake here.
Context: ...db://127.0.0.1:27017`) ### Installation Install dependencies (root and backend) ...
(QB_NEW_EN)
[grammar] ~179-~179: There might be a mistake here.
Context: ...asmine.mjs" } ``` ### Running the Tests 1. Start MongoDB (if not already running)...
(QB_NEW_EN)
CONTRIBUTING.md
[grammar] ~61-~61: There might be a mistake here.
Context: ...toGitMetricsLab:main`. 6. Keep your branch up to date with the lat...
(QB_NEW_EN)
🪛 markdownlint-cli2 (0.17.2)
CONTRIBUTING.md
78-78: Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (5)
README.md (5)
4-35: Quick Start looks clear and minimal — approvedThe fork → upstream → feature branch flow is accurate, includes tracking on first push, and links back to CONTRIBUTING.md.
56-60: Badges updated to the correct org/repo — goodThe shields now point to GitMetricsLab/github_tracker and include closed PRs. Looks correct.
34-35: Align PR “Type of Change” with docs-only changesThis PR appears documentation-only. In the PR description, select only Documentation update to avoid noise in changelogs and release tooling.
231-231: Contributors image link updated — approvedLink now targets the GitMetricsLab/github_tracker repo correctly.
146-154: Docker scripts verified in package.jsonThe
setup,docker:dev, anddocker:prodscripts are present and correctly defined in the root package.json. No updates to the README are required.
| macOS/Linux (Bash): | ||
| ```bash | ||
| # Use a test database (e.g., github_tracker_test) to avoid clobbering dev data | ||
| MONGO_URI="mongodb://127.0.0.1:27017/github_tracker_test" npx jasmine --config=spec/support/jasmine.mjs | ||
| # Or cross-platform with one command: | ||
| npx cross-env MONGO_URI="mongodb://127.0.0.1:27017/github_tracker_test" jasmine --config=spec/support/jasmine.mjs | ||
| ``` | ||
|
|
||
| Windows (PowerShell): | ||
| ```powershell | ||
| # Use a test database (e.g., github_tracker_test) to avoid clobbering dev data | ||
| $env:MONGO_URI="mongodb://127.0.0.1:27017/github_tracker_test"; npx jasmine --config=spec/support/jasmine.mjs | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Ensure cross-env is available or provide install hint
The cross-platform example uses cross-env; verify it’s a devDependency or add a one-line install hint.
Verification script:
Optional README tweak if missing:
- npx cross-env MONGO_URI="mongodb://127.0.0.1:27017/github_tracker_test" jasmine --config=spec/support/jasmine.mjs
+ # Requires cross-env (install once: npm i -D cross-env)
+ npx cross-env MONGO_URI="mongodb://127.0.0.1:27017/github_tracker_test" jasmine --config=spec/support/jasmine.mjs🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Checking for cross-env in root or backend package.json..."
rg -n '"cross-env"\s*:' -g 'package.json' -g 'backend/package.json' -n -C1 || {
echo "cross-env not found in devDependencies. Consider adding:";
echo 'npm install -D cross-env';
exit 1;
}Length of output: 408
Add cross-env as a devDependency and surface an install hint in the README
The verification script confirmed that cross-env is not currently declared in your devDependencies. Without it, the cross-platform example will fail for users on non-Unix shells.
• Package manifest
- In your
package.json(root orbackend/), addcross-envto devDependencies:npm install --save-dev cross-env
• README.md (Lines 186–198)
- Update the Bash/PowerShell snippet to call out the one-time install. For example:
# Or cross-platform with one command: - npx cross-env MONGO_URI="mongodb://127.0.0.1:27017/github_tracker_test" jasmine --config=spec/support/jasmine.mjs + # Requires cross-env (install once: npm i -D cross-env) + npx cross-env MONGO_URI="mongodb://127.0.0.1:27017/github_tracker_test" jasmine --config=spec/support/jasmine.mjs
🤖 Prompt for AI Agents
In README.md around lines 186–198 the cross-platform test example uses cross-env
but the package.json does not declare cross-env as a devDependency; add
cross-env to your devDependencies in the repository package.json where tests are
executed (root or backend) by running the one-time install (npm install
--save-dev cross-env), and update the README snippet to mention this one-time
install step and call out which package.json to update so users on Windows can
run the cross-platform example successfully.
There was a problem hiding this 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 (8)
package.json (2)
11-11: Setup script works; consider adding a CI-friendly variant and a dedicated backend install aliasThe combined install is fine for contributors. For reproducibility in CI (or locked installs), consider adding a separate script that uses
npm ciwhen lockfiles exist, and an alias for backend-only installs.Example:
"scripts": { "dev": "vite --host", "build": "vite build", "lint": "eslint .", "preview": "vite preview", - "setup": "npm install && npm --prefix backend install", + "setup": "npm install && npm --prefix backend install", + "setup:ci": "npm ci && npm --prefix backend ci", + "backend:install": "npm --prefix backend install" },Additionally, consider adding
enginesto reflect.nvmrc:"engines": { "node": "18.20.x" }
49-49: Good addition of cross-env; align README note now that it’s devDependencyNow that
cross-envis in devDependencies, the README’s “(one-time) npm install --save-dev cross-env” note can be removed to avoid confusing first-time contributors.README.md (6)
4-35: Quick Start flow reads well; add a safe-push tip after rebaseThe upstream/branching instructions are clear. After “rebase upstream/main”, many first-timers hit non-fast-forward errors if they’ve already pushed. Consider adding a one-liner to push safely.
Suggested addition after Line 24:
# if you already pushed before the rebase git push --force-with-lease
78-101: De-duplicate the nvm tip (appears twice) and keep the first occurrenceYou already ask users to run
nvm useat Lines 80–83. The tip block at Lines 95–100 repeats the same guidance and can be removed for brevity.> Tip: Use the project’s Node.js version. If you’ve set it in `.nvmrc` or `package.json#engines`, nvm will pick it up. -> -> With nvm: -> ```bash -> nvm use -> ```
116-131: Backend/frontend start flow is coherent; minor wording tweak optionalWording is accurate and aligns with the port guidance below. Optionally, add “from the backend folder” inline with the code block caption for scannability.
132-145: Dockerized Mongo snippet is solid; add a quick compose-network note (optional)If users later run the full stack via Compose, they’ll be on a different network. A brief note that the standalone container exposes 27017 on localhost helps set expectations.
169-177: Jasmine usage via npx is good; consider a package script for newcomersTo further reduce command length and unify across platforms, consider adding a root
testscript and referencing it here.Example package.json addition:
"scripts": { "test": "jasmine --config=spec/support/jasmine.mjs" }
184-199: Now that cross-env is installed, trim the one-time install commentThe cross-platform example is helpful. Since
cross-envis in devDependencies, remove the “(one-time) install” line to avoid confusion.# Or cross-platform with one command: - # (one-time) npm install --save-dev cross-env # in the repository root npx cross-env MONGO_URI="mongodb://127.0.0.1:27017/github_tracker_test" jasmine --config=spec/support/jasmine.mjs
📜 Review details
Configuration used: CodeRabbit UI
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.
📒 Files selected for processing (2)
README.md(4 hunks)package.json(2 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
README.md (1)
src/pages/Contributors/Contributors.tsx (3)
contributors(27-142)contributor(74-137)Contributor(19-25)
🪛 LanguageTool
README.md
[grammar] ~4-~4: There might be a mistake here.
Context: ... --> ## 🚩 Quick Start for Contributors Want to contribute? Here’s how to get sta...
(QB_NEW_EN)
[grammar] ~129-~129: There might be a mistake here.
Context: ...minal (usually http://localhost:5173). If the backend runs locally, it typicall...
(QB_NEW_EN)
[grammar] ~156-~156: There might be a mistake here.
Context: ... Unit & Integration Testing with Jasmine This project uses the Jasmine framework f...
(QB_NEW_EN)
[grammar] ~158-~158: There might be a mistake here.
Context: ... and integration tests. The tests cover: - [User model (password hashing, schema, pa...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ...rd hashing, schema, password comparison)](spec/user.model.spec.cjs) - [Authentication routes (signup, login, lo...
(QB_NEW_EN)
[grammar] ~160-~160: There might be a mistake here.
Context: ...ntication routes (signup, login, logout)](spec/auth.routes.spec.cjs) - Passport authentication logic (via integ...
(QB_NEW_EN)
[grammar] ~167-~167: There might be a mistake here.
Context: ...db://127.0.0.1:27017`) ### Installation Install dependencies (root and backend) ...
(QB_NEW_EN)
[grammar] ~179-~179: There might be a mistake here.
Context: ...asmine.mjs" } ``` ### Running the Tests 1. Start MongoDB (if not already running)...
(QB_NEW_EN)
🔇 Additional comments (5)
README.md (5)
56-60: Shields updated to the correct org/repo — looks goodAll badge endpoints point to GitMetricsLab/github_tracker. No issues spotted.
102-115: Env setup is clear and platform-friendly — niceExplicit Windows and POSIX examples, plus minimal required keys, are helpful. No changes requested.
201-204: Direct links to spec files are a nice touchGood DX improvement for first-time contributors.
67-73: Tech Stack mentions “React Query” but it’s not in dependencies — align or updateThe README lists “React Query”, but
package.jsondoes not include@tanstack/react-query. Either add it (if used) or update the bullet to avoid confusion.If you intend to use it, install and document:
npm install @tanstack/react-queryOr update the bullet to omit it.
232-232: Contributors image repo link updated — looks correctAnchor points to GitMetricsLab/github_tracker. LGTM.
| Alternatively, to start the full stack with Compose: | ||
| ```bash | ||
| $ npm i | ||
| $ npm start | ||
| # Dev profile (hot reload etc.) | ||
| npm run docker:dev | ||
| # Production-like profile | ||
| npm run docker:prod | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Verify compose profiles exist (dev/prod) and document prerequisites if needed
The scripts reference --profile dev and --profile prod. Please verify those profiles are present in your compose file and call it out if Docker Desktop/Compose v2 is required.
🏁 Script executed:
#!/bin/bash
# Verify compose file and profiles
fd -a -t f -g "docker-compose*.yml" -g "compose*.yml" || true
rg -n -C2 -i 'profiles:\s*\n\s*-+\s*dev|profiles:\s*\n\s*-+\s*prod' -g 'docker-compose*.yml' -g 'compose*.yml' || trueLength of output: 474
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Searching for Docker Compose files..."
compose_files=$(find . -maxdepth 4 -type f \( -name 'docker-compose*.yml' -o -name 'compose*.yml' \) || true)
if [ -z "$compose_files" ]; then
echo "No Compose files found in the repository."
exit 0
fi
for file in $compose_files; do
echo
echo "----- Checking $file -----"
echo "Looking for 'dev' profile..."
if rg -U -n 'profiles:\s*\n\s*-\s*dev' "$file" >/dev/null; then
echo " ✓ 'dev' profile found"
else
echo " ✗ 'dev' profile NOT found"
fi
echo "Looking for 'prod' profile..."
if rg -U -n 'profiles:\s*\n\s*-\s*prod' "$file" >/dev/null; then
echo " ✓ 'prod' profile found"
else
echo " ✗ 'prod' profile NOT found"
fi
doneLength of output: 790
Compose profiles verified – add Compose v2 prerequisite
- Verified that
docker-compose.ymldefines bothdevandprodprofiles. - Profiles require Docker Compose v2 (either via Docker Desktop v3.0+ or the standalone v2 CLI).
- Please update the README.md snippet (lines 146–154) to call out this prerequisite so users don’t encounter errors when running
npm run docker:devornpm run docker:prod.
🤖 Prompt for AI Agents
In README.md around lines 146 to 154, the compose snippet omits a prerequisite
that the user must have Docker Compose v2 (Docker Desktop v3.0+ or the
standalone v2 CLI) to use named profiles; add a one-line note immediately above
the code block stating that Compose v2 is required and optionally link to
installation/update instructions for Docker Desktop or the Compose v2 CLI so
users know how to upgrade before running `npm run docker:dev` or `npm run
docker:prod`.
…hore: add setup:ci and engines
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
CONTRIBUTING.md (1)
92-92: Quick Start anchor fixed.Anchor now matches GitHub’s slug; link works as expected.
🧹 Nitpick comments (4)
package.json (1)
14-16: Setup scripts are clear; consider a small convenience addition.Current scripts cover local and CI end-to-end. Optional: add a direct backend CI helper for parity with
backend:install(keeps CI logs/snippets simpler when you only want to run backend install deterministically)."scripts": { "dev": "vite --host", "build": "vite build", "lint": "eslint .", "preview": "vite preview", "setup": "npm install && npm --prefix backend install", "setup:ci": "npm ci && npm --prefix backend ci", "backend:install": "npm --prefix backend install", + "backend:ci": "npm --prefix backend ci", "docker:dev": "docker compose --profile dev up --build", "docker:prod": "docker compose --profile prod up -d --build" },Also applies to: 16-16
README.md (2)
146-148: Fix markdownlint MD034 (bare URL).Wrap the Compose docs URL in a proper link label to satisfy linters and improve readability.
-> See https://docs.docker.com/compose/ for installation and upgrade instructions. +> See [Docker Compose docs](https://docs.docker.com/compose/) for installation and upgrade instructions.
187-193: Cross-platform Jasmine examples are accurate; minor reinforcement.Since
cross-envis now a devDependency, consider adding a brief note that it’s already included so users don’t try to install it globally.# Or cross-platform with one command: - npx cross-env MONGO_URI="mongodb://127.0.0.1:27017/github_tracker_test" jasmine --config=spec/support/jasmine.mjs + # cross-env is included as a devDependency + npx cross-env MONGO_URI="mongodb://127.0.0.1:27017/github_tracker_test" jasmine --config=spec/support/jasmine.mjsCONTRIBUTING.md (1)
122-125: Use-uon first push to set upstream (consistency with README).This mirrors the README example and simplifies subsequent pushes/pulls.
-git push origin your-feature-name +git push -u origin your-feature-name
📜 Review details
Configuration used: CodeRabbit UI
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.
📒 Files selected for processing (3)
CONTRIBUTING.md(1 hunks)README.md(4 hunks)package.json(2 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[grammar] ~4-~4: There might be a mistake here.
Context: ... --> ## 🚩 Quick Start for Contributors Want to contribute? Here’s how to get sta...
(QB_NEW_EN)
[grammar] ~127-~127: There might be a mistake here.
Context: ...minal (usually http://localhost:5173). If the backend runs locally, it typicall...
(QB_NEW_EN)
[grammar] ~157-~157: There might be a mistake here.
Context: ... Unit & Integration Testing with Jasmine This project uses the Jasmine framework f...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ... and integration tests. The tests cover: - [User model (password hashing, schema, pa...
(QB_NEW_EN)
[grammar] ~160-~160: There might be a mistake here.
Context: ...rd hashing, schema, password comparison)](spec/user.model.spec.cjs) - [Authentication routes (signup, login, lo...
(QB_NEW_EN)
[grammar] ~161-~161: There might be a mistake here.
Context: ...ntication routes (signup, login, logout)](spec/auth.routes.spec.cjs) - Passport authentication logic (via integ...
(QB_NEW_EN)
[grammar] ~164-~164: There might be a mistake here.
Context: ...ia integration tests) ### Prerequisites - Node.js and npm installed - **Mong...
(QB_NEW_EN)
[grammar] ~165-~165: There might be a mistake here.
Context: ...ites - Node.js and npm installed - MongoDB running locally (default: `mon...
(QB_NEW_EN)
[grammar] ~168-~168: There might be a mistake here.
Context: ...db://127.0.0.1:27017`) ### Installation Install dependencies (root and backend) ...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...asmine.mjs" } ``` ### Running the Tests 1. Start MongoDB (if not already running)...
(QB_NEW_EN)
CONTRIBUTING.md
[grammar] ~61-~61: There might be a mistake here.
Context: ...toGitMetricsLab:main`. 6. Keep your branch up to date with the lat...
(QB_NEW_EN)
🪛 markdownlint-cli2 (0.17.2)
README.md
147-147: Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (9)
package.json (2)
6-8: Engines pin looks good and aligns with .nvmrc (18.20.x).This will prevent accidental installs on unsupported Node versions. No further action needed.
54-54: Good catch adding cross-env for cross-platform test commands.This matches the README’s Jasmine examples and avoids Windows env var issues.
README.md (5)
8-36: Quick Start flow reads well and uses rebase +--force-with-lease.Solid contributor UX. Nice touch documenting the safe force-push.
60-64: Badge targets corrected to GitMetricsLab org.URLs and labels look right.
84-98: nvm before install is the right order.Running
nvm usebeforenpm run setupprevents version-mismatch headaches for first-timers. Good improvement.
100-113: Backend env setup is explicit and platform-friendly.The
.env.samplecopy steps and variable names match the backend guidance. Good clarity.
126-129: Port note now matches backend default (5000).Thanks for aligning this with the sample
.envand Dockerfiles.CONTRIBUTING.md (2)
41-55: Branching workflow is clear and matches README’s Quick Start.Using
upstream/mainas the base and creating a topic branch is the right guidance for contributors.
63-70: Great call-out on--force-with-lease.This reduces risk when updating rebased branches.
|
Addressed all suggestions: portable setup + setup:ci, engines, rebase tip + safe push, Compose v2 note, badges/org links, port 5000, MONGO_URI consistency, cross-env added to devDeps, npx jasmine guidance, links to spec files. Ready for review. @mehul-m-prajapati |
Description
This PR adds a "Quick Start for Contributors" section to the README and clarifies the setup instructions for new contributors. The goal is to make it easier for first-time contributors to get started with the project and understand the steps required to set up the development environment.
How Has This Been Tested?
Verified that the new instructions are clear and accurate.
Followed the updated steps to ensure they work as described.
Type of Change
Bug fix
New feature
Code style update
Breaking change
Documentation update
Summary by CodeRabbit
Documentation
Chores