Thank you for your interest in contributing to CodeGroup.
Found a bug? Please use the repository's Bug report issue form and include:
- VS Code version
- CodeGroup version
- operating system
- steps to reproduce
- expected vs. actual behavior
- screenshots, GIFs, or relevant logs when useful
Use the Feature request issue form and explain:
- the workflow problem
- the proposed behavior
- a concrete example
- alternatives or workarounds you already tried, if any
-
Fork the repository.
-
Clone your fork:
git clone https://github.com/YOUR_USERNAME/codegroup.git cd codegroup -
Install the locked dependencies:
npm ci
-
Create a focused branch:
git checkout -b feature/your-feature-name
-
Make your changes.
-
Run the validation suite:
npm run verify
-
For extension-host behavior, also run:
npm run test:extension
-
Commit with a clear conventional commit message.
-
Push the branch and open a Pull Request.
- Node.js 22+
- VS Code 1.74.0+
- npm
npm ci
npm run compile
npm run verifyFor continuous development:
npm run watch- Open the project in VS Code.
- Press
F5to launch the Extension Development Host. - Test the changed workflow in the new window.
For release validation and local sharing:
npm run package:vsix
npm run package:list
code --install-extension dist/codegroup-file-organizer.vsix --forcecodegroup/
├── src/
│ ├── extension.ts
│ ├── fileGroupsProvider.ts
│ ├── fileDecorationProvider.ts
│ ├── storageService.ts
│ ├── models.ts
│ └── userInfo.ts
├── tests/
├── images/
├── package.json
└── tsconfig.json
Keep pull requests focused and easy to review.
Before opening a PR:
- run
npm run verify - add or update tests for behavioral changes when practical
- update README/CHANGELOG documentation when user-facing behavior changes
- avoid unrelated formatting or refactors in the same PR
- include screenshots or GIFs for visible UI changes
- Use TypeScript.
- Follow existing code patterns.
- Prefer clear, small functions over clever abstractions.
- Add comments where intent is not obvious from the code.
- Keep commits focused and atomic.
Use conventional commit prefixes:
feat:new featurefix:bug fixdocs:documentationrefactor:code refactoringtest:testschore:maintenance
Examples:
feat: add keyboard shortcuts for group navigation
fix: handle file rename when path contains spaces
docs: add shared group examples
Looking for something small to start with? Check issues labeled good first issue.
Good first contributions usually include documentation, tests, localization, or isolated commands that do not require changing the storage format.
If a question may help other users or contributors too, open an issue so the answer remains searchable.
Thanks for contributing to CodeGroup.