Skip to content

Add devsync workflow and shared secrets#259

Merged
Ar-temis merged 6 commits into
mainfrom
shared-secrets-and-devsync
Apr 14, 2026
Merged

Add devsync workflow and shared secrets#259
Ar-temis merged 6 commits into
mainfrom
shared-secrets-and-devsync

Conversation

@pomegranar
Copy link
Copy Markdown
Collaborator

@pomegranar pomegranar commented Apr 14, 2026

Adds the devsync.sh helper for fast remote-agent iteration and a shared-secrets system (chatdku_devs group +
auto-sourced /datapool/secrets/chatdku_env.sh). Docs added in Documentations/DevSync.md and Documentations/Shared-Secrets.md.

Summary by CodeRabbit

  • New Features

    • DevSync workflow for fast local-to-remote development iteration.
    • Shared secrets system and admin CLI tools to provision secrets and manage developer group membership.
  • Documentation

    • Clarified environment-variable guidance and SSH sourcing caveats.
    • Added detailed DevSync and shared-secrets usage, troubleshooting, and onboarding docs.
  • Chores / Internal

    • Updated internal retriever import paths across the app and tests.

pomegranar and others added 4 commits April 14, 2026 13:46
it uses UV and Rsync, and creates a new directory called
ChatDKU-DevSync. I recommend everyone to move env variables to
~/.profile
Fixed 2 file(s) based on 2 unresolved review comments.

Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 14, 2026

📝 Walkthrough

Walkthrough

This PR adds developer tooling and shared-secrets infrastructure. New artifacts: a devsync.sh script to rsync the repo to a remote dev host, prepare the remote sync directory (including optional ~/.env symlink), and open an interactive SSH session that runs uv sync and the selected Python module; documentation pages for DevSync, environment variable guidance, Phoenix config, and shared secrets; scripts under scripts/secrets/ (admin_setup.sh, add_user.sh, remove_user.sh) to provision group-based secret files and manage chatdku_devs membership; and a secrets example template. Small import-path updates move retriever imports from chatdku.core.tools.llama_index to chatdku.core.tools.llama_index_tools, and documentation/guide formatting and references were adjusted.

Sequence Diagram(s)

sequenceDiagram
    participant Local as Local Machine
    participant SSH as SSH Client
    participant Remote as Remote Server
    participant Shell as Remote Shell

    Local->>Local: Determine SSH user (gh api user || whoami)
    Local->>Local: Resolve target host and remote dir (env/defaults)
    Local->>Remote: Ensure remote dir exists (ssh mkdir -p)
    Remote->>Remote: Create ~/ChatDKU-DevSync if missing
    Remote->>Remote: Create symlink ${REMOTE_DIR}/.env -> ~/.env (if present) or warn
    Local->>Local: Build rsync filter from .gitignore + explicit excludes
    Local->>Remote: rsync -avz --delete (repo root -> ${REMOTE_DIR})
    Remote->>Remote: Update files in ${REMOTE_DIR}
    Local->>Remote: Open interactive ssh session -> cd ${REMOTE_DIR}
    Shell->>Shell: Run: uv sync
    Shell->>Shell: Run: uv run <python command | python -m chatdku.core.agent>
    Shell-->>Local: Interactive terminal with agent running
Loading

Possibly related PRs

  • 225 course recs test #257 — touches the same retriever import lines in chatdku/core/agent.py and likely relates to the import-path change.
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title directly and accurately summarizes the main changes: adding the devsync workflow helper script and the shared secrets management system.

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


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

@pomegranar pomegranar requested a review from Ar-temis April 14, 2026 05:50
@pomegranar pomegranar self-assigned this Apr 14, 2026
@pomegranar
Copy link
Copy Markdown
Collaborator Author

Btw, this is a cherry-picked PR from the 225 feature branch, because I got sidetracked and made this tool while working on course recommendations.
@Ar-temis Review pls. I also added documentation, but not to Guide.md yet.

Copy link
Copy Markdown

@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: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Documentations/Env-variables.md`:
- Line 13: The line in Documentations/Env-variables.md contains a typo: replace
the incorrect `.zshsrc` token with `.zshrc` so the sentence reads "Adding
`source $HOME/.profile` to your `~/.bashrc` and/or `~/.zshrc` file
(recommended)"; update the `.zshsrc` occurrence accordingly.

In `@Documentations/Shared-Secrets.md`:
- Around line 47-50: The commands in Documentations/Shared-Secrets.md (e.g.,
invoking admin_setup.sh and editing chatdku_env.sh) assume the user is in the
repository root; update the doc so each command either uses absolute paths or
explicitly states "run from the repository root (project root)" before the
examples, and mirror that change for the other similar snippets in the file;
specifically edit the snippets referencing admin_setup.sh and chatdku_env.sh to
show either the absolute path to scripts (or prefix with $REPO_ROOT) or add a
single sentence telling readers to cd to the repo root before running the shown
commands.
- Around line 84-86: The markdown reference to
scripts/secrets/chatdku_env.sh.example triggers MD059; update the
Shared-Secrets.md text so it uses explicit descriptive link text and a clear
instruction (e.g., "update scripts/secrets/chatdku_env.sh.example to add export
FOO=\"...\"") instead of a bare filename, and add the recommended export line to
the master file; ensure the doc mentions the exact variable name `FOO` and the
target file `scripts/secrets/chatdku_env.sh.example` so the linter recognizes
the descriptive link/style and new admins can find the var.

In `@scripts/secrets/admin_setup.sh`:
- Around line 42-61: The environment variable names in this admin_setup.sh
snippet are inconsistent with the rest of the codebase; rename OPENAI_API_KEY to
LLM_API_KEY, rename
POSTGRES_HOST/POSTGRES_PORT/POSTGRES_USER/POSTGRES_PASSWORD/POSTGRES_DB to
DB_HOST/DB_PORT/DB_USER/DB_PASSWORD/DB_NAME respectively, add the missing
LLAMAPARSE_API, PG_INGEST_URI and PHOENIX_PORT variables with sensible
placeholders, and update any references in this file (e.g., REDIS_*, HF_TOKEN,
ANTHROPIC_API_KEY, PHOENIX_API_KEY/PHOENIX_COLLECTOR_ENDPOINT) to maintain the
same placeholder pattern so the created production secrets file uses the
canonical variable names used by the application.

In `@scripts/secrets/chatdku_env.sh.example`:
- Around line 1-25: The template env file exports variable names that don't
match what the application reads; update the exports in
scripts/secrets/chatdku_env.sh.example to use the names expected by
chatdku/config.py and chatdku/setup.py: rename OPENAI_API_KEY to LLM_API_KEY,
replace POSTGRES_HOST/POSTGRES_PORT/POSTGRES_USER/POSTGRES_PASSWORD/POSTGRES_DB
with DB_HOST/DB_PORT/DB_USER/DB_PASSWORD/DB_NAME, change
PHOENIX_COLLECTOR_ENDPOINT to PHOENIX_PORT (since the code builds the endpoint
dynamically), and add the missing variables LLAMAPARSE_API and PG_INGEST_URI so
config.py can load them.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 227f001d-20e8-4442-9cce-de9debe12c81

📥 Commits

Reviewing files that changed from the base of the PR and between def10c4 and 721f2c2.

📒 Files selected for processing (9)
  • Documentations/DevSync.md
  • Documentations/Env-variables.md
  • Documentations/Phoenix.md
  • Documentations/Shared-Secrets.md
  • devsync.sh
  • scripts/secrets/add_user.sh
  • scripts/secrets/admin_setup.sh
  • scripts/secrets/chatdku_env.sh.example
  • scripts/secrets/remove_user.sh

Comment thread Documentations/Env-variables.md
Comment thread Documentations/Shared-Secrets.md
Comment thread Documentations/Shared-Secrets.md
Comment thread scripts/secrets/admin_setup.sh
Comment on lines +1 to +25
# ChatDKU shared environment variables — EXAMPLE / template.
# The real file lives at /datapool/secrets/chatdku_env.sh on the dev host
# and is auto-sourced for members of the chatdku_devs group.
# Never commit real values to git.

# --- LLM / API credentials ---
export OPENAI_API_KEY="sk-REPLACE_ME"
export ANTHROPIC_API_KEY="sk-ant-REPLACE_ME"
export HF_TOKEN="hf_REPLACE_ME"

# --- Redis (vector + keyword store) ---
export REDIS_HOST="redis.internal"
export REDIS_PORT="6379"
export REDIS_PASSWORD="REPLACE_ME"

# --- Phoenix observability ---
export PHOENIX_API_KEY="REPLACE_ME"
export PHOENIX_COLLECTOR_ENDPOINT="http://phoenix.internal:6006"

# --- Postgres (syllabi / course metadata) ---
export POSTGRES_HOST="pg.internal"
export POSTGRES_PORT="5432"
export POSTGRES_USER="chatdku"
export POSTGRES_PASSWORD="REPLACE_ME"
export POSTGRES_DB="chatdku"
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot Apr 14, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Environment variable names do not match what the codebase expects.

The template exports variables with names that differ from what chatdku/config.py and chatdku/setup.py actually read:

Template exports Codebase expects
OPENAI_API_KEY LLM_API_KEY
POSTGRES_HOST, POSTGRES_PORT, POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME
PHOENIX_COLLECTOR_ENDPOINT PHOENIX_PORT (used to build endpoint dynamically)

Additionally, the template is missing LLAMAPARSE_API and PG_INGEST_URI which are read by the config.

This will cause the application to fail to load credentials. Either update the template to match the existing config expectations, or update the config to read the new variable names (which would be a breaking change).

🛠️ Proposed fix to align with existing codebase
 # --- LLM / API credentials ---
-export OPENAI_API_KEY="sk-REPLACE_ME"
+export LLM_API_KEY="sk-REPLACE_ME"
 export ANTHROPIC_API_KEY="sk-ant-REPLACE_ME"
 export HF_TOKEN="hf_REPLACE_ME"
+export LLAMAPARSE_API="REPLACE_ME"

 # --- Redis (vector + keyword store) ---
 export REDIS_HOST="redis.internal"
 export REDIS_PORT="6379"
 export REDIS_PASSWORD="REPLACE_ME"

 # --- Phoenix observability ---
-export PHOENIX_API_KEY="REPLACE_ME"
-export PHOENIX_COLLECTOR_ENDPOINT="http://phoenix.internal:6006"
+export PHOENIX_PORT="6007"

 # --- Postgres (syllabi / course metadata) ---
-export POSTGRES_HOST="pg.internal"
-export POSTGRES_PORT="5432"
-export POSTGRES_USER="chatdku"
-export POSTGRES_PASSWORD="REPLACE_ME"
-export POSTGRES_DB="chatdku"
+export DB_HOST="pg.internal"
+export DB_PORT="5432"
+export DB_USER="chatdku"
+export DB_PASSWORD="REPLACE_ME"
+export DB_NAME="chatdku"
+export PG_INGEST_URI="REPLACE_ME"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# ChatDKU shared environment variables — EXAMPLE / template.
# The real file lives at /datapool/secrets/chatdku_env.sh on the dev host
# and is auto-sourced for members of the chatdku_devs group.
# Never commit real values to git.
# --- LLM / API credentials ---
export OPENAI_API_KEY="sk-REPLACE_ME"
export ANTHROPIC_API_KEY="sk-ant-REPLACE_ME"
export HF_TOKEN="hf_REPLACE_ME"
# --- Redis (vector + keyword store) ---
export REDIS_HOST="redis.internal"
export REDIS_PORT="6379"
export REDIS_PASSWORD="REPLACE_ME"
# --- Phoenix observability ---
export PHOENIX_API_KEY="REPLACE_ME"
export PHOENIX_COLLECTOR_ENDPOINT="http://phoenix.internal:6006"
# --- Postgres (syllabi / course metadata) ---
export POSTGRES_HOST="pg.internal"
export POSTGRES_PORT="5432"
export POSTGRES_USER="chatdku"
export POSTGRES_PASSWORD="REPLACE_ME"
export POSTGRES_DB="chatdku"
# ChatDKU shared environment variables — EXAMPLE / template.
# The real file lives at /datapool/secrets/chatdku_env.sh on the dev host
# and is auto-sourced for members of the chatdku_devs group.
# Never commit real values to git.
# --- LLM / API credentials ---
export LLM_API_KEY="sk-REPLACE_ME"
export ANTHROPIC_API_KEY="sk-ant-REPLACE_ME"
export HF_TOKEN="hf_REPLACE_ME"
export LLAMAPARSE_API="REPLACE_ME"
# --- Redis (vector + keyword store) ---
export REDIS_HOST="redis.internal"
export REDIS_PORT="6379"
export REDIS_PASSWORD="REPLACE_ME"
# --- Phoenix observability ---
export PHOENIX_PORT="6007"
# --- Postgres (syllabi / course metadata) ---
export DB_HOST="pg.internal"
export DB_PORT="5432"
export DB_USER="chatdku"
export DB_PASSWORD="REPLACE_ME"
export DB_NAME="chatdku"
export PG_INGEST_URI="REPLACE_ME"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@scripts/secrets/chatdku_env.sh.example` around lines 1 - 25, The template env
file exports variable names that don't match what the application reads; update
the exports in scripts/secrets/chatdku_env.sh.example to use the names expected
by chatdku/config.py and chatdku/setup.py: rename OPENAI_API_KEY to LLM_API_KEY,
replace POSTGRES_HOST/POSTGRES_PORT/POSTGRES_USER/POSTGRES_PASSWORD/POSTGRES_DB
with DB_HOST/DB_PORT/DB_USER/DB_PASSWORD/DB_NAME, change
PHOENIX_COLLECTOR_ENDPOINT to PHOENIX_PORT (since the code builds the endpoint
dynamically), and add the missing variables LLAMAPARSE_API and PG_INGEST_URI so
config.py can load them.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@pomegranar This is true. I have DB_* on my .env instead of POSTGRES_* and also the missing variables.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

Comment thread chatdku/django/chatdku_django/chat/views.py Dismissed
Copy link
Copy Markdown

@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)
chatdku/core/agent.py (1)

1-1: ⚠️ Potential issue | 🟡 Minor

Fix formatting issue flagged by CI.

The pipeline indicates black would reformat this file. Run black chatdku/core/agent.py to resolve the lint failure.

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

In `@chatdku/core/agent.py` at line 1, Run the Python formatter on the file to
satisfy CI: reformat chatdku/core/agent.py with Black (e.g., run black
chatdku/core/agent.py) so the shebang and the rest of the file match Black's
style and the lint error is resolved.
🧹 Nitpick comments (2)
devsync.sh (2)

63-72: Consider simplifying the quoting in remote SSH commands.

The mixed single/double quote escaping (e.g., '"${REMOTE_DIR}"') is correct but hard to read. Using a heredoc or consistent printf %q would improve maintainability.

♻️ Optional: cleaner approach using heredoc
 step "linking ~/.env → ${REMOTE_DIR}/.env"
-ssh "${SERVER}" '
-  if [ -f ~/.env ]; then
-    ln -sf ~/.env '"${REMOTE_DIR}"'/.env
-  else
-    echo "WARN: ~/.env not found on server — skipping link"
-  fi
-'
-if ssh "${SERVER}" '[ ! -f '"${REMOTE_DIR}"'/.env ]'; then
+ssh "${SERVER}" bash -s -- "$(printf %q "$REMOTE_DIR")" <<'EOF'
+  REMOTE_DIR="$1"
+  if [ -f ~/.env ]; then
+    ln -sf ~/.env "${REMOTE_DIR}/.env"
+  else
+    echo "WARN: ~/.env not found on server — skipping link"
+  fi
+EOF
+if ssh "${SERVER}" "[ ! -f $(printf %q "$REMOTE_DIR")/.env ]"; then
   warn "no .env in ${REMOTE_DIR} — the agent may fail to start"
 fi
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@devsync.sh` around lines 63 - 72, The SSH remote block in devsync.sh uses
hard-to-read mixed quoting (e.g., the ln command with '"${REMOTE_DIR}"')—replace
it with a clearer approach: run a heredoc-supplied script to ssh (invoke ssh
"${SERVER}" with bash -s and a single-quoted heredoc) or pre-escape REMOTE_DIR
using printf %q locally and interpolate that single safe token into the remote
command; update the ln -sf ~/.env ... and the subsequent ssh existence check to
use the same consistent quoting strategy and keep the warn "no .env in
${REMOTE_DIR} — the agent may fail to start" behavior intact so identifiers like
REMOTE_DIR, SERVER, and the warn call remain unchanged.

60-60: Shellcheck SC2029 is a false positive here — client-side expansion is intentional.

REMOTE_DIR should expand locally before being sent to the remote, so the warning can be ignored. However, if REMOTE_DIR contains special characters (spaces, quotes), the command could break. Consider using printf %q for robustness if non-standard paths might be used.

♻️ Optional: safer quoting
 step "preparing remote directory $REMOTE_DIR on $SERVER"
-ssh "${SERVER}" "mkdir -p ${REMOTE_DIR}"
+ssh "${SERVER}" "mkdir -p $(printf %q "$REMOTE_DIR")"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@devsync.sh` at line 60, The ssh line ssh "${SERVER}" "mkdir -p ${REMOTE_DIR}"
relies on local expansion of REMOTE_DIR and can break on spaces/quotes; fix by
locally escaping REMOTE_DIR with printf '%q' into a new variable (e.g.,
REMOTE_DIR_Q) and use that escaped variable in the ssh command so the remote
mkdir receives a safely quoted path; update occurrences of REMOTE_DIR in this
context (the ssh mkdir invocation) to use the escaped variable.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@GUIDE.md`:
- Line 8: Replace the misspelled word "progess" with "progress" in the sentence
"This is a work in progess. Please tell me what you don't understand about this
guide and our project and I will add it to this document for future use." so the
sentence reads "This is a work in progress..." and keep the rest of the sentence
unchanged.
- Around line 69-72: Fix the typos and make the link text descriptive: replace
"equilavent" with "equivalent", "incorperate" with "incorporate", and
"stardards" with "standards"; also replace the non‑descriptive link text "here"
with a descriptive label like "autolinked references and URLs" so the Markdown
link is MD059-compliant and the sentence reads clearly (update the sentence
containing those words and the link text in GUIDE.md).

---

Outside diff comments:
In `@chatdku/core/agent.py`:
- Line 1: Run the Python formatter on the file to satisfy CI: reformat
chatdku/core/agent.py with Black (e.g., run black chatdku/core/agent.py) so the
shebang and the rest of the file match Black's style and the lint error is
resolved.

---

Nitpick comments:
In `@devsync.sh`:
- Around line 63-72: The SSH remote block in devsync.sh uses hard-to-read mixed
quoting (e.g., the ln command with '"${REMOTE_DIR}"')—replace it with a clearer
approach: run a heredoc-supplied script to ssh (invoke ssh "${SERVER}" with bash
-s and a single-quoted heredoc) or pre-escape REMOTE_DIR using printf %q locally
and interpolate that single safe token into the remote command; update the ln
-sf ~/.env ... and the subsequent ssh existence check to use the same consistent
quoting strategy and keep the warn "no .env in ${REMOTE_DIR} — the agent may
fail to start" behavior intact so identifiers like REMOTE_DIR, SERVER, and the
warn call remain unchanged.
- Line 60: The ssh line ssh "${SERVER}" "mkdir -p ${REMOTE_DIR}" relies on local
expansion of REMOTE_DIR and can break on spaces/quotes; fix by locally escaping
REMOTE_DIR with printf '%q' into a new variable (e.g., REMOTE_DIR_Q) and use
that escaped variable in the ssh command so the remote mkdir receives a safely
quoted path; update occurrences of REMOTE_DIR in this context (the ssh mkdir
invocation) to use the escaped variable.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: b867b760-d05a-44f4-959a-1836ec7985c3

📥 Commits

Reviewing files that changed from the base of the PR and between 721f2c2 and e785336.

📒 Files selected for processing (9)
  • Documentations/DevSync.md
  • GUIDE.md
  • chatdku/core/agent.py
  • chatdku/core/tools/llama_index_tools.py
  • chatdku/django/chatdku_django/chat/tools.py
  • chatdku/django/chatdku_django/chat/views.py
  • devsync.sh
  • tests/test_load_retriever.py
  • tests/test_retriever.py
✅ Files skipped from review due to trivial changes (5)
  • chatdku/django/chatdku_django/chat/views.py
  • chatdku/django/chatdku_django/chat/tools.py
  • tests/test_load_retriever.py
  • tests/test_retriever.py
  • Documentations/DevSync.md

Comment thread GUIDE.md Outdated
Comment thread GUIDE.md Outdated
Comment on lines +69 to +72
- Again, Github has the equilavent features at [here](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls)

As you incorperate these steps into your developer journey, you will be better equipped for real world team-coding.
All the industry experts follow some form of stardards using GIT. You should learn to use it properly while you are here with us.
All the industry experts follow some form of stardards using GIT. You should learn to use it properly while you are here with us.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix spelling errors and link text.

Several typos flagged by static analysis:

  • Line 69: "equilavent" → "equivalent"
  • Line 71: "incorperate" → "incorporate"
  • Line 72: "stardards" → "standards"
  • Line 69: Non-descriptive link text "here" (MD059) — consider using descriptive text like "autolinked references and URLs".
📝 Proposed fixes
-- Again, Github has the equilavent features at [here](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls)
+- Again, GitHub has the equivalent features for [autolinked references and URLs](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls)

-As you incorperate these steps into your developer journey, you will be better equipped for real world team-coding.
-All the industry experts follow some form of stardards using GIT. You should learn to use it properly while you are here with us.
+As you incorporate these steps into your developer journey, you will be better equipped for real-world team-coding.
+All the industry experts follow some form of standards using Git. You should learn to use it properly while you are here with us.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Again, Github has the equilavent features at [here](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls)
As you incorperate these steps into your developer journey, you will be better equipped for real world team-coding.
All the industry experts follow some form of stardards using GIT. You should learn to use it properly while you are here with us.
All the industry experts follow some form of stardards using GIT. You should learn to use it properly while you are here with us.
- Again, GitHub has the equivalent features for [autolinked references and URLs](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls)
As you incorporate these steps into your developer journey, you will be better equipped for real-world team-coding.
All the industry experts follow some form of standards using Git. You should learn to use it properly while you are here with us.
🧰 Tools
🪛 LanguageTool

[grammar] ~69-~69: Ensure spelling is correct
Context: ...l-connected/) - Again, Github has the equilavent features at [here](https://docs.github....

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~71-~71: Ensure spelling is correct
Context: ...autolinked-references-and-urls) As you incorperate these steps into your developer journey...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~71-~71: Use a hyphen to join words.
Context: ...ey, you will be better equipped for real world team-coding. All the industry expe...

(QB_NEW_EN_HYPHEN)


[grammar] ~72-~72: Ensure spelling is correct
Context: ...he industry experts follow some form of stardards using GIT. You should learn to use it p...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 markdownlint-cli2 (0.22.0)

[warning] 69-69: Link text should be descriptive

(MD059, descriptive-link-text)

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

In `@GUIDE.md` around lines 69 - 72, Fix the typos and make the link text
descriptive: replace "equilavent" with "equivalent", "incorperate" with
"incorporate", and "stardards" with "standards"; also replace the
non‑descriptive link text "here" with a descriptive label like "autolinked
references and URLs" so the Markdown link is MD059-compliant and the sentence
reads clearly (update the sentence containing those words and the link text in
GUIDE.md).

@Ar-temis
Copy link
Copy Markdown
Member

@pomegranar are you done updating this PR?

@pomegranar
Copy link
Copy Markdown
Collaborator Author

@pomegranar are you done updating this PR?

yes yes done now

Copy link
Copy Markdown

@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

♻️ Duplicate comments (2)
GUIDE.md (2)

69-69: ⚠️ Potential issue | 🟡 Minor

Fix non-descriptive link text.

The link text "here" is non-descriptive. Use descriptive text like "autolinked references and URLs" to improve accessibility and comply with MD059.

📝 Proposed fix
-  - Again, GitHub has the equivalent features at [here](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls)
+  - Again, GitHub has the equivalent features for [autolinked references and URLs](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@GUIDE.md` at line 69, Replace the non-descriptive link text "here" in the
GUIDE.md line that links to
https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls
with a descriptive label such as "autolinked references and URLs" (i.e., change
the link text from "here" to "autolinked references and URLs") to satisfy MD059
and improve accessibility.

71-71: ⚠️ Potential issue | 🟡 Minor

Add hyphen to compound adjective.

"real world" should be hyphenated when used as a compound adjective before a noun.

📝 Proposed fix
-As you incorporate these steps into your developer journey, you will be better equipped for real world team-coding.
+As you incorporate these steps into your developer journey, you will be better equipped for real-world team-coding.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@GUIDE.md` at line 71, The phrase "real world" in the sentence "As you
incorporate these steps into your developer journey, you will be better equipped
for real world team-coding." should be hyphenated as a compound adjective;
update that sentence to read "real-world team-coding" (i.e., insert a hyphen
between "real" and "world") so the compound adjective is correct.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@GUIDE.md`:
- Line 88: Change the grammar in the sentence "Again, just google these stuff
and learn. Good luck! It will be worth it." by replacing "these stuff" with
"this stuff" (or alternatively "these things") so the uncountable noun "stuff"
uses the correct demonstrative; update the sentence accordingly to read e.g.
"Again, just google this stuff and learn. Good luck! It will be worth it."

---

Duplicate comments:
In `@GUIDE.md`:
- Line 69: Replace the non-descriptive link text "here" in the GUIDE.md line
that links to
https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls
with a descriptive label such as "autolinked references and URLs" (i.e., change
the link text from "here" to "autolinked references and URLs") to satisfy MD059
and improve accessibility.
- Line 71: The phrase "real world" in the sentence "As you incorporate these
steps into your developer journey, you will be better equipped for real world
team-coding." should be hyphenated as a compound adjective; update that sentence
to read "real-world team-coding" (i.e., insert a hyphen between "real" and
"world") so the compound adjective is correct.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 86c6bb7e-d4ea-46cd-9d61-0ccc6da29635

📥 Commits

Reviewing files that changed from the base of the PR and between e785336 and 81515b6.

📒 Files selected for processing (1)
  • GUIDE.md

Comment thread GUIDE.md
@Ar-temis Ar-temis merged commit 767ffe7 into main Apr 14, 2026
3 of 6 checks passed
@Ar-temis Ar-temis deleted the shared-secrets-and-devsync branch April 14, 2026 07:14
Ar-temis added a commit that referenced this pull request Apr 16, 2026
…-devsync

Add devsync workflow and shared secrets
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