A VSCode extension that displays a unique, beautiful avatar/badge for your current project based on the directory name.
- Unique Project Avatars: Generates a distinctive circular avatar for each project based on its directory name
- Consistent Generation: Same project name always produces the same avatar
- Theme-Aware: Colors adapt to your current VSCode color theme (light/dark)
- Beautiful Design: Multi-layered circular design with gradient backgrounds and character overlays
- Status Bar Integration: Shows project name in the status bar with click-to-view functionality
The extension extracts the basename of your current workspace directory and generates a unique avatar using:
- Character Extraction: Takes key characters from the project name (first, second, and last)
- Color Generation: Creates consistent colors using a hash algorithm based on the project name
- Layered Design: Superimposes multiple character elements of different sizes and opacities
- Theme Integration: Adapts colors to match your current VSCode theme
- Open any folder/workspace in VSCode
- Look for the project name in the status bar (left side) with a colorful icon
- Click on the status bar item to view the full avatar in a dedicated panel
- Use the command "Project Frimouss: Show Project Avatar" to open the avatar panel
- Use the command "Project Frimouss: Refresh Project Avatar" to regenerate the avatar
Project Frimouss: Show Project Avatar- Opens a panel displaying the project avatarProject Frimouss: Refresh Project Avatar- Refreshes the avatar (useful after theme changes)
- Clone this repository
- Run
npm installto install dependencies - Run
npm run compileto build the extension - Press F5 to open a new VSCode window with the extension loaded
npm run compile- Compile TypeScript to JavaScriptnpm run watch- Watch for file changes and recompile automatically- Press F5 in VSCode to launch a new Extension Development Host window
The extension includes comprehensive testing with GitHub CI integration:
npm run test-unit- Run unit tests (fast, no VSCode dependency)npm run test-all- Run all unit tests with summarynpm test- Run integration tests (requires VSCode environment)
- Unit Tests (
src/test/unit/): Test core avatar generation logic without VSCode dependencies - Integration Tests (
src/test/integration/): Test extension functionality within VSCode environment
The project uses GitHub Actions for automated testing:
- Tests run on Node.js 18.x and 20.x
- Unit tests validate core functionality
- TypeScript compilation is verified
- Extension packaging is tested
- Artifacts are uploaded for releases
This project includes AI-powered GitHub Actions workflows to enhance development:
Automatically analyzes and provides fix suggestions for:
- Compilation errors
- Test failures
- Common code issues
Triggers: Issues labeled with 'bug', pull requests, manual dispatch
Provides automated code review for pull requests:
- Analyzes code changes
- Checks compilation status
- Recommends test additions
- Suggests code improvements
Triggers: Pull request creation and updates
Automatically categorizes and labels new issues:
- Detects issue type (bug, feature, documentation, etc.)
- Assigns priority levels
- Provides relevant checklists
- Suggests AI assistance options
Triggers: New issue creation
Comprehensive PR analysis and suggestions:
- Checks code quality
- Identifies TODO/FIXME comments
- Detects debug code
- Provides GitHub Copilot usage tips
Triggers: Pull request creation, updates, and review comments
Regular security and dependency scanning:
- npm audit for vulnerabilities
- Outdated package detection
- TypeScript strict mode compliance
- Automated security reports
Triggers: Pushes, pull requests, weekly schedule, manual dispatch
All these workflows integrate with GitHub Copilot to help you:
- Fix issues faster - AI analyzes problems and suggests solutions
- Improve code quality - Get automated recommendations
- Stay secure - Regular security scans with fix suggestions
- Save time - Automated triage and categorization
Pro Tip: Use GitHub Copilot Chat with commands like:
@workspace How can I fix this issue?@workspace Review this code for improvements@workspace Are there security concerns?
MIT License - see LICENSE file for details.