A comprehensive VS Code extension for managing packages in repositories and monorepos with enhanced release management and NPM publishing capabilities.
All formatting issues have been resolved and significant enhancements have been added for professional-grade package management.
- Auto-discovery: Automatically detects packages in workspaces and monorepos
- Package Overview: View package details, dependencies, and scripts
- Monorepo Support: Both fixed and independent versioning strategies
- Automated Release Creation: Create releases with proper version bumping
- Enhanced Release Notes: Properly formatted multi-line release notes
- Smart Changelog: Organized changelog with package-specific sections
- Git Integration: Automatic commits for package.json and CHANGELOG.md updates
- Enhanced Authentication: Environment variable and .npmrc detection
- OTP Support: Interactive 2FA/OTP handling for secure publishing
- Multi-auth Methods: Token-based, interactive, and manual authentication
- Error Handling: Comprehensive error messages for common NPM issues
- Interactive Commit Creation: Guided conventional commit workflow
- Standard Types: Support for feat, fix, docs, chore, and more
- Scope Support: Optional scopes for better commit organization
- Release Notes Formatting: Proper multi-line formatting with section breaks
- Changelog Content: Real changes displayed instead of placeholders
- URL Encoding: Fixed scoped package URLs for GitHub links
- Git Commits: Automatic commits for version and changelog updates
- Duplicate Headers: Eliminated duplicate "Changed" sections
- NPM OTP Support: Interactive terminal for 2FA codes
- Environment Detection: Automatic NPM token discovery
- Prettier Integration: Code formatting with consistent style
- Enhanced Error Messages: User-friendly NPM publishing feedback
- Download
vscode-repo-manager-extension-0.0.1.vsix
- Open VS Code Command Palette (
Ctrl+Shift+P
) - Run "Extensions: Install from VSIX..."
- Select the downloaded .vsix file
git clone <repository-url>
cd repo-manager
pnpm install
pnpm run build
- Open a repository with package.json files
- Find "Repo Manager" in the Explorer sidebar
- Right-click packages for release and publishing options
- Right-click package β "Create GitHub Release"
- Select version type (patch/minor/major/prerelease)
- Review generated release notes
- Confirm to create release and push tags
- Right-click package β "Publish to NPM"
- Choose tag (latest, beta, alpha, etc.)
- Enter OTP when prompted (if 2FA enabled)
- Monitor publishing progress in output panel
- Prettier: Automatic code formatting
- ESLint: Code linting and standards
- TypeScript: Full type safety
pnpm run format # Format all code
pnpm run format:check # Check formatting
pnpm run lint # Run ESLint
pnpm run build # Build extension
pnpm run watch # Development mode
- VS Code: Version 1.100.0 or higher
- Node.js: For NPM operations
- Git: For version control operations
- GitHub Account: For creating releases
- NPM Account: For publishing packages
- Standard npm package with package.json in root
Supports packages in common locations:
packages/
apps/
libs/
tools/
- Fixed Versioning: All packages share the same version
- Independent Versioning: Each package has its own version
The extension works out of the box but can be configured via VS Code settings:
- GitHub Integration: Requires GitHub authentication
- NPM Publishing: Supports multiple authentication methods
- Conventional Commits: Customizable commit types and scopes
Repo Manager: Create GitHub Release
- Create a new GitHub releaseRepo Manager: Publish to NPM
- Publish package to NPMRepo Manager: Conventional Commit
- Create a conventional commitRepo Manager: Refresh
- Refresh package detection
- OTP Required: Extension will prompt for 2FA code
- Authentication: Check .npmrc or environment variables
- Network Issues: Verify NPM registry connectivity
- Authentication: Ensure GitHub token is configured
- Repository Access: Verify push permissions
- Git Status: Ensure working directory is clean
This project is licensed under the MIT License - see the LICENSE file for details.
See CONTRIBUTING.md for guidelines on how to contribute to this project.
See CHANGELOG.md for a detailed history of changes.
Made with β€οΈ for the VS Code community 3. Choose the new version number 4. Enter release notes 5. Specify if it's a prerelease 6. The extension will update package.json, create a git tag, and publish the release
- Right-click on a package in the Repo Manager view
- Select "Publish to NPM"
- Choose publication settings (tag, access level)
- The extension will run pre-publish checks and publish the package
- Right-click on a package in the Repo Manager view
- Select "Conventional Commit"
- Select files to include
- Choose commit type and add details
- Review and confirm the commit
- Single Package: Standard npm package with package.json in root
- Monorepos: Supports packages in common locations:
packages/
apps/
libs/
modules/
- VS Code 1.100.0 or higher
- Git repository
- For GitHub features: GitHub authentication
- For NPM publishing: NPM account and login
This extension contributes the following settings:
repoManager.autoRefresh
: Automatically refresh package list when files change (default: true)
Repo Manager: Refresh
- Manually refresh the package listRepo Manager: Create GitHub Release
- Create a new GitHub releaseRepo Manager: Publish to NPM
- Publish package to NPMRepo Manager: Conventional Commit
- Create a conventional commit
- GitHub authentication requires manual approval in VS Code
- NPM publishing requires npm login via terminal
- Initial release
- Package discovery and management
- GitHub release creation
- NPM publishing
- Conventional commit support
Found a bug or have a feature request? Please create an issue on GitHub.
This extension is released under the MIT License.