Skip to content

Latest commit

 

History

History
87 lines (68 loc) · 2.35 KB

File metadata and controls

87 lines (68 loc) · 2.35 KB

Contributing to GitHub Status for VS Code

Thanks for your interest in contributing! This guide explains how to set up your environment, follow coding standards, and submit changes.

Getting Started

Prerequisites

  • VS Code (latest)
  • Node.js 18+ (LTS recommended)
  • npm 9+

Setup

# Fork the repository, then clone your fork
git clone <your-fork-url>
cd vscode-github-status

# Install dependencies
npm install

# Build once
npm run compile

# Start watch mode (optional)
npm run watch

Run the Extension

  • Press F5 in VS Code to launch the Extension Development Host.
  • Use the Command Palette to try commands like:
    • GitHub Status: Check Service Status
    • GitHub Status: Show Details

Development Workflow

Branching & Commits

  • The default branch is main.
  • Use one of the following branch prefixes for all work:
    • feature/ (new functionality)
    • bugfix/ (non-urgent fixes)
    • hotfix/ (urgent production fixes)
  • All changes must be merged via Pull Request.
  • Commit convention uses a semantic pattern (Conventional Commits):
    • feat:, fix:, chore:, docs:, refactor:, test:, etc.
    • Example: feat: add status refresh command

Code Style & Quality

  • TypeScript strict mode is enabled; keep types explicit where helpful.
  • Linting & type-checking:
npm run check-types
npm run lint

Building & Packaging

# Development build
npm run compile

# Production build for packaging
npm run package

# Create a VSIX package
npx vsce package

Testing

  • Use the Extension Development Host (F5) to manually validate behavior.
  • If you add automated tests, prefer the VS Code test environment (@vscode/test-electron).

Submitting Changes

  1. Ensure npm run check-types and npm run lint pass.
  2. Include/update documentation (README, settings descriptions) as needed.
  3. Add or update tests if applicable.
  4. Open a Pull Request with a clear description and screenshots/gifs when relevant.

Reporting Issues & Feature Requests

  • Use the issue tracker to report bugs and propose features.
  • Include steps to reproduce, expected vs actual behavior, and environment details.

Release Process (Maintainers)

  • Bump version in package.json following semver.
  • Update CHANGELOG.md.
  • npm run package and validate.
  • npx vsce publish to publish to the Marketplace.

Thanks again for contributing!