Skip to content

Conversation

@avikalpg
Copy link
Contributor

@avikalpg avikalpg commented Oct 29, 2025

Summary by CodeRabbit

  • Documentation

    • Added comprehensive contribution guidelines covering development setup, workflows, and coding standards
    • Added release process documentation detailing versioning and deployment procedures
    • Added automated release system documentation
  • Chores

    • Updated development environment configuration
    • Established automated release workflow infrastructure

- Enable WILDEST_DEV_MODE in launch.json to use venv CLI instead of binary
- Add CONTRIBUTING.md with comprehensive development setup instructions
- Document how to set up DiffGraph-CLI venv for development
- Remove hardcoded paths to maintain portability across dev environments

This allows developers to test with the latest CLI features (like -f graph)
without requiring updated binaries. Developers can either clone DiffGraph-CLI
in the workspace root or set WILDEST_VENV_PATH to their venv location.

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

Co-Authored-By: Claude <noreply@anthropic.com>
@avikalpg avikalpg self-assigned this Oct 29, 2025
@avikalpg avikalpg added the bug Something isn't working label Oct 29, 2025
@coderabbitai
Copy link

coderabbitai bot commented Oct 29, 2025

Caution

Review failed

Failed to post review comments

Walkthrough

This PR introduces a complete automated release system for the VSCode extension triggered on PR merge to main. It includes a Python release orchestration script that integrates with Claude AI for version bumping and changelog generation, GitHub Actions workflow automation, supporting documentation, and adjusts the default development virtual environment path resolution.

Changes

Cohort / File(s) Summary
Release Automation Core
.github/scripts/auto_release.py
New Python script orchestrating full release flow: gathers PR context, determines version bump via Claude API with JSON schema validation, updates package.json and CHANGELOG.md, builds extension, publishes to VSCode Marketplace and Open VSX, commits changes, creates annotated git tag, outputs results to GitHub Actions.
Release Automation Infrastructure
.github/scripts/requirements.txt, .github/workflows/auto-release.yml
Dependencies file specifying anthropic (≥0.71.0,<1.0) and pydantic (≥2.12.3,<3.0). GitHub Actions workflow triggered on PR merge that checks out repo, sets up Node 22.15.1 and Python 3.13.5 with caching, installs dependencies, runs auto\_release.py with PR metadata and secrets, and creates GitHub Release with changelog.
Release Process Documentation
.claude/rules.md, .github/scripts/README.md
rules.md documents semantic versioning, release branching, version updates, changelog requirements, build/test commands, and manual release checklist. scripts/README.md details the automated release system, workflow triggers, Claude AI responsibilities, required GitHub secrets, manual testing steps, dependencies, troubleshooting, and disable instructions.
Contribution Guidelines
CONTRIBUTING.md
Development prerequisites, setup and getting started, development mode execution with DiffGraph-CLI, environment variable configuration (WILDEST\_DEV\_MODE, WILDEST\_VENV\_PATH, NODE\_ENV), build/test/lint/type-check commands, project structure, Git workflow, commit conventions, and licensing.
Development Configuration
.vscode/launch.json, src/services/CliService.ts
launch.json adds WILDEST\_DEV\_MODE="1" to extensionHost configuration env block. CliService.ts adjusts default venv path resolution in dev mode from .. to ../.. relative to script directory when WILDEST\_VENV\_PATH not set.

Sequence Diagram

sequenceDiagram
    participant GH as GitHub
    participant WF as Workflow<br/>(auto-release.yml)
    participant Script as auto_release.py
    participant Claude as Claude API<br/>(Anthropic)
    participant VSCode as VSCode<br/>Marketplace
    participant OpenVSX as Open VSX<br/>Registry
    participant Repo as Git Repo

    GH->>WF: PR merged to main
    WF->>WF: Setup Node.js & Python
    WF->>Script: Run release script<br/>(PR metadata + secrets)
    Script->>Script: Get current version<br/>from package.json
    Script->>Script: Extract PR details<br/>(title, body, commits)
    Script->>Claude: Request version bump<br/>& changelog (JSON schema)
    Claude->>Script: Return new_version<br/>& changelog_entry
    Script->>Repo: Update package.json<br/>with new version
    Script->>Repo: Update CHANGELOG.md<br/>with entry
    Script->>Script: Build extension
    Script->>VSCode: Publish package
    Script->>OpenVSX: Publish package
    Script->>Repo: Commit version changes
    Script->>Repo: Create annotated git tag
    Script->>WF: Output new_version<br/>& changelog
    WF->>GH: Create GitHub Release<br/>(with changelog & links)
    GH->>GH: Release published
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • auto_release.py: Dense orchestration logic with external API integration (Claude), multiple system calls (git, npm, package managers), error handling paths, and security-sensitive token handling—requires careful validation of command construction, environment variable usage, and API schema design.
  • GitHub Actions workflow: Integration complexity across Node, Python, and external tools; conditional logic and secret passing warrant review of environment setup and deployment steps.
  • CliService.ts venv path change: Simple directory traversal adjustment but impacts dev environment—verify correct relative path and that logic remains sound across different execution contexts.

Possibly related PRs

Pre-merge checks and finishing touches

✅ 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 "fix: dev env add contributing" is partially related to the changeset. It accurately describes two real aspects of the changes: modifications to the development environment configuration (.vscode/launch.json and CliService.ts venv path) and the addition of CONTRIBUTING.md documentation. However, the title does not capture the most substantial portion of the changeset—the comprehensive automated release system infrastructure, including the Python release script, GitHub Actions workflow, release documentation, and dependencies file. Despite being incomplete in scope, the title is not misleading, as everything it claims to address is genuinely present in the PR.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch akg/fix-dev-env-add-contributing

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.

@avikalpg avikalpg changed the base branch from main to akg/claude-code-rules-ci-cd October 29, 2025 00:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant