Skip to content

Enhance contributor documentation and VS Code extension setup#13

Merged
SpyC0der77 merged 2 commits into
mainfrom
do-something
Jun 7, 2026
Merged

Enhance contributor documentation and VS Code extension setup#13
SpyC0der77 merged 2 commits into
mainfrom
do-something

Conversation

@SpyC0der77

@SpyC0der77 SpyC0der77 commented Jun 7, 2026

Copy link
Copy Markdown
Owner
  • Expanded contributors.md to include detailed local setup instructions, testing guidelines, and release flow for contributors.
  • Updated readme.md to link to the new contributor guide and clarify VS Code extension installation.
  • Modified .gitignore to exclude VS Code extension package files.
  • Enhanced CI workflow for building and packaging the VS Code extension.
  • Updated highlighter/package.json with new metadata and scripts for extension packaging.

Summary by CodeRabbit

  • New Features

    • Released VS Code extension "Minecraft Script Language Support" with syntax highlighting for .mcs files, hover documentation, and command linting via Spyglass integration.
    • Added configurable Minecraft version setting for command validation.
  • Documentation

    • Updated README with extension setup instructions and contributing guidelines.
    • Added contributor documentation covering local development, testing, and release workflows.
  • Chores

    • Improved CI/CD pipeline and release automation.

- Expanded `contributors.md` to include detailed local setup instructions, testing guidelines, and release flow for contributors.
- Updated `readme.md` to link to the new contributor guide and clarify VS Code extension installation.
- Modified `.gitignore` to exclude VS Code extension package files.
- Enhanced CI workflow for building and packaging the VS Code extension.
- Updated `highlighter/package.json` with new metadata and scripts for extension packaging.
@coderabbitai

coderabbitai Bot commented Jun 7, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@SpyC0der77, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 43 minutes and 4 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 945b9a1e-6156-417e-adaf-fb2b0de7bca8

📥 Commits

Reviewing files that changed from the base of the PR and between b950378 and a81fee5.

📒 Files selected for processing (5)
  • .github/workflows/ci.yml
  • contributors.md
  • highlighter/.vscodeignore
  • readme.md
  • scripts/check_release_versions.py
📝 Walkthrough

Walkthrough

This PR establishes the complete release and publishing infrastructure for the Minecraft Script VS Code extension. It adds a Bun-based CI build job, release version gating, marketplace identity (renaming to minecraft-script-language-support under publisher SpyC0der77), comprehensive extension documentation, and detailed contributor workflows for local development, testing, versioning, and extension marketplace publishing.

Changes

VS Code Extension Release and Publishing Infrastructure

Layer / File(s) Summary
CI build pipeline and release gating
.github/workflows/ci.yml, scripts/check_release_versions.py, .gitignore
Adds highlighter CI job that checks out the repo, sets up Bun, installs dependencies, and runs bun build and bun package. Introduces check_release_versions.py to verify Python and npm package versions match before release. .vsix build artifacts are added to gitignore.
Extension marketplace identity and vsce publishing
highlighter/package.json
Extension renamed from minecraft-script-highlighter (publisher minecraft-script) to minecraft-script-language-support (publisher SpyC0der77). Repository URL, marketplace URLs, and keywords updated. @vscode/vsce dev dependency added at ^3.7.1 for CLI publishing.
Extension user-facing documentation suite
highlighter/README.md, highlighter/CHANGELOG.md, highlighter/LICENSE, highlighter/.vscodeignore
README reorganized into Features, Commands, Settings, Spyglass, and Development sections with mcsHighlighter.minecraftVersion setting documentation. Initial CHANGELOG documents v0.0.1 with syntax highlighting, hover support, command linting/completion, and two commands. MIT LICENSE added. .vscodeignore excludes development files from marketplace package.
Contributor setup and release workflow documentation
contributors.md, readme.md
Comprehensive contributor guide added covering editable Python install, VS Code highlighter development, test running, complete release flow (version bumping at two locations, CI gating via version script, tagging/GitHub release creation, npm publish), and VS Code extension marketplace publishing (one-time publisher/PAT setup and per-release build/smoke-test/vsce login/publish steps). Minecraft version update procedure documented as numbered workflow. Root readme.md extended with link to Marketplace and contributor guide reference.
Infrastructure and documentation tasks marked complete
todo.md
GitHub Issues setup, release automation scripts, VS Code extension publishing, highlighter CI build, and contributor guide tasks marked as completed.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

A rabbit hops through workflows bright,
With Bun builds racing left and right.
Version checks keep chaos tame,
While docs guide all into the game.
Extension blooms on Marketplace's stage,
A new chapter on publishing's page! 🐰📦

🚥 Pre-merge checks | ✅ 4 | ❌ 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 (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: enhanced contributor documentation (contributors.md rewrite with setup, testing, and release flow) and VS Code extension setup (new CI job, package.json updates, highlighter documentation).
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch do-something

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

Caution

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

⚠️ Outside diff range comments (1)
.github/workflows/ci.yml (1)

25-30: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add version-parity gate to CI before releases drift.

Line 29 currently runs tests only; the workflow should also execute python scripts/check_release_versions.py so mismatched pyproject.toml / npm/package.json versions fail CI automatically.

Suggested patch
       - name: Run tests
         run: pytest -q
+
+      - name: Verify Python/npm release versions match
+        run: python scripts/check_release_versions.py
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/ci.yml around lines 25 - 30, CI currently only runs the
"Run tests" step (pytest -q); add a new job step in .github/workflows/ci.yml
right before or after the "Run tests" step that executes `python
scripts/check_release_versions.py` and fails the workflow on non-zero exit so
any mismatch between pyproject.toml and npm/package.json versions is caught;
reference the existing "Run tests" step to place the new step and ensure it uses
the same runner/context and environment as pytest.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci.yml:
- Around line 38-41: Update the GitHub Actions steps that use movable tags:
replace uses: actions/checkout@v4 and uses: oven-sh/setup-bun@v2 with pinned
commit SHAs and add persist-credentials: false to the checkout step;
specifically, in the checkout step (actions/checkout) set persist-credentials:
false to avoid exposing the token, and change the setup-bun step
(oven-sh/setup-bun) to reference a specific commit SHA instead of v2.

In `@highlighter/.vscodeignore`:
- Around line 1-11: The .vscodeignore currently begins with "*" / "**/*" which
ignores the whole tree and then tries to negate individual files, but vsce can
still exclude negated files unless their parent directories are re-included;
update highlighter/.vscodeignore to explicitly re-include the parent directories
before the files (e.g. add negations for the directories like "!dist/" and
"!syntaxes/" or "!dist/**" and "!syntaxes/**" prior to or alongside the existing
"!dist/extension.js" and "!syntaxes/**" entries) so that dist/extension.js and
the grammar files are reliably packaged by vsce.

In `@readme.md`:
- Line 79: Update the command palette shortcut in the README entry for
"Minecraft Script: Select Command Lint Version" to use the correct
command-palette binding: replace "Cmd or Ctrl + P" with "Cmd+Shift+P /
Ctrl+Shift+P" so the instructions point to the actual command palette shortcut.
- Line 79: In readme.md update the markdown so the highlighter README is a
clickable link by removing the inline code backticks around
[highlighter/README.md](highlighter/README.md) (i.e., change the inline-code
formatted ` [highlighter/README.md](highlighter/README.md) ` to a plain markdown
link [highlighter/README.md](highlighter/README.md)); ensure the surrounding
sentence remains unchanged so the link renders in the README.

In `@scripts/check_release_versions.py`:
- Around line 16-19: The current version extraction uses a global regex (match =
re.search(r'^version\s*=\s*"([^"]+)"', text, re.MULTILINE)) which can pick up a
different section; change the logic in the version-parsing routine to first
isolate the [project] section from the file text (find the "[project]" header
and its following block up to the next "[" header or EOF) and then run the
version regex only on that subsection, updating the existing match check and
return (the match variable and return match.group(1)) so the SystemExit is still
raised if no version is found within [project].

---

Outside diff comments:
In @.github/workflows/ci.yml:
- Around line 25-30: CI currently only runs the "Run tests" step (pytest -q);
add a new job step in .github/workflows/ci.yml right before or after the "Run
tests" step that executes `python scripts/check_release_versions.py` and fails
the workflow on non-zero exit so any mismatch between pyproject.toml and
npm/package.json versions is caught; reference the existing "Run tests" step to
place the new step and ensure it uses the same runner/context and environment as
pytest.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: 05594241-dec1-44c2-bad5-f55377d6935e

📥 Commits

Reviewing files that changed from the base of the PR and between cfa551e and b950378.

⛔ Files ignored due to path filters (2)
  • highlighter/bun.lock is excluded by !**/*.lock
  • highlighter/icon.png is excluded by !**/*.png
📒 Files selected for processing (11)
  • .github/workflows/ci.yml
  • .gitignore
  • contributors.md
  • highlighter/.vscodeignore
  • highlighter/CHANGELOG.md
  • highlighter/LICENSE
  • highlighter/README.md
  • highlighter/package.json
  • readme.md
  • scripts/check_release_versions.py
  • todo.md

Comment thread .github/workflows/ci.yml Outdated
Comment thread highlighter/.vscodeignore
Comment thread readme.md Outdated
Comment thread scripts/check_release_versions.py Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

4 issues found across 13 files

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

Comment thread highlighter/.vscodeignore Outdated
Comment thread contributors.md Outdated
Comment thread readme.md Outdated
Comment thread contributors.md Outdated
@kilo-code-bot

kilo-code-bot Bot commented Jun 7, 2026

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (5 files in incremental diff)
  • .github/workflows/ci.yml - Added version check step, pinned highlighter action
  • contributors.md - Updated example paths and template copying instructions
  • highlighter/.vscodeignore - Fixed dist glob pattern, added syntaxes directory include
  • readme.md - Fixed command palette shortcut and trackable README link
  • scripts/check_release_versions.py - Scoped pyproject.toml version search to [project] section

Reviewed by step-3.7-flash-20260528 · 205,827 tokens

- Revised `contributors.md` to reflect updated example commands for compiling datapacks.
- Clarified version selection process in `readme.md` for improved user guidance.
- Added a step in the CI workflow to check release versions, enhancing version management.
- Adjusted `.vscodeignore` to refine ignored files for the VS Code extension.
- Improved error handling in `check_release_versions.py` for better clarity on missing project section.
@SpyC0der77 SpyC0der77 merged commit 8a775c7 into main Jun 7, 2026
6 checks passed
@SpyC0der77 SpyC0der77 deleted the do-something branch June 7, 2026 21:28
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.

1 participant