Skip to content

Conversation

@mangelajo
Copy link
Member

@mangelajo mangelajo commented Jan 22, 2026

Summary by CodeRabbit

  • Documentation

    • Added new project guidance and operator/developer rules; added quick-reference AI guide.
    • Added linking between rule docs and corresponding reference files.
  • Improvements

    • Enhanced driver creation flow: more robust path resolution, template sourcing, automatic README and docs symlink generation, and verification steps.
  • Project Structure

    • Moved Python workspace contents under a python/ subtree and updated paths for packages, examples, docs, and templates.

✏️ Tip: You can customize this high-level summary in your review settings.

Creates .claude/rules/ directory with symlinks to existing .cursor/rules/ files, enabling both Cursor and Claude Code users to share the same project guidelines without duplication.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 22, 2026

📝 Walkthrough

Walkthrough

Reorganizes Python workspace under a new python/ subtree, updates cursor/Claude rule docs to reference the new paths, adds a CLAUDE.md with assistant guidance, and enhances the driver creation template script (python/__templates__/create_driver.sh) to resolve project roots, generate README.md, and create docs symlinks.

Changes

Cohort / File(s) Summary
AI assistant rules & config
.claude/rules/creating-new-drivers.md, .claude/rules/project-structure.md, CLAUDE.md
Add new Claude guidance and small rule files that reference corresponding .cursor MDC rule files.
Cursor rules docs (path updates)
.cursor/rules/creating-new-drivers.mdc, .cursor/rules/project-structure.mdc, .cursor/rules/working-with-operator.mdc
Update references and examples to use python/ prefixed paths (templates, packages, docs, examples) and adjust driver creation guidance.
Project layout / workspace
.cursor/rules/project-structure.mdc
Document workspace relocation: top-level artifacts (pyproject, packages, examples, docs, templates) moved under python/ subtree.
Driver scaffolding script
python/__templates__/create_driver.sh
Script now computes SCRIPT_DIR/PYTHON_ROOT, reads templates relative to script, writes driver files, generates README.md with substitutions, and creates a docs symlink.

Sequence Diagram(s)

(omitted — changes are documentation and a local scaffolding script update; no multi-component runtime flow requiring visualization)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • jumpstarter-dev/jumpstarter#642 — updates creating-new-drivers rule and shifts driver template paths to python/__templates__ (closely related).
  • jumpstarter-dev/jumpstarter#396 — modifies driver creation script/template and README handling (overlaps with script changes).

Suggested reviewers

  • kirkbrauer
  • bennyz
  • bkhizgiy
  • NickCao

Poem

🐰 A hop, a nudge, the python root,
Docs and templates find their new suit.
README blooms and symlinks sing,
Drivers sprung from crafted spring,
Small rabbit cheers for tidy loot! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the primary changes: adapting assistant rules to a new format (moving from .md to .mdc files with references) and adding the CLAUDE.md file.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Caution

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

⚠️ Outside diff range comments (1)
python/__templates__/create_driver.sh (1)

26-33: Replace sed_cmd variable with a function to fix macOS compatibility.

The sed_cmd="sed -i ''" assignment on line 30 fails when expanded as a variable on macOS. Variable word splitting loses the empty string argument, causing sed to misinterpret the pattern as a filename. This works on Linux (sed -i) but breaks on macOS (sed -i '').

Use a function instead to preserve argument boundaries:

Fix
 # MacOS has a different syntax for sed -i, we either use gsed (GNU sed) or apply the right -i syntax
 if command -v gsed &> /dev/null; then
-    sed_cmd="gsed"
-elif [[ "$(uname)" == "Darwin" ]]; then
-    sed_cmd="sed -i ''"
-else
-    sed_cmd="sed -i"
-fi
+    sed_inplace() { gsed -i "$@"; }
+elif [[ "$(uname)" == "Darwin" ]]; then
+    sed_inplace() { sed -i '' "$@"; }
+else
+    sed_inplace() { sed -i "$@"; }
+fi

Then on line 81, replace $sed_cmd "s/..." with sed_inplace "s/...".

@mangelajo mangelajo requested a review from kirkbrauer January 23, 2026 09:05
Documents the development workflow for modifying the Jumpstarter operator,
including CRD type changes, controller logic, testing, and common issues.
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Caution

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

⚠️ Outside diff range comments (1)
.cursor/rules/creating-new-drivers.mdc (1)

41-47: Fix the test command typo to match repo conventions.

Line 47 uses make pkg-test-<driver_package>, but the documented convention in this repo is make test-pkg-<driver_package> (or make test). This mismatch will cause users to run a non-existent target. As per learnings, align the command.

🔧 Proposed fix
-6. Test the driver: `make pkg-test-<driver_package>`
+6. Test the driver: `make test-pkg-<driver_package>`
@mangelajo
Copy link
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants