Space Invader mosaics hidden permanently in your codebase. Stumble upon them. Click to collect. Like street art, but in your IDE.
- On first open, a file has a chance (configurable) of receiving one or more invaders
- Invaders are permanent — they live in
.invaders.jsonat your workspace root - Click (place cursor near) an invader to add it to your collection
- Open your collection via
Invader Hunter: Open Collection
| Setting | Default | Description |
|---|---|---|
invaderHunter.spawnRate |
0.4 |
Probability a file gets invaders on first open |
invaderHunter.linesPerInvader |
150 |
Lines per eligible invader slot |
invaderHunter.maxPerFile |
5 |
Hard cap per file |
invaderHunter.collectedAppearance |
"badge" |
same / badge / faded / hidden |
invaderHunter.disappearAfterCollection |
false |
Hide after collect |
invaderHunter.excludePatterns |
["**/*.json", ...] |
Files that never get invaders |
src/
extension.ts # Entry point
types.ts # Shared interfaces
core/
StoreManager.ts # .invaders.json read/write
SpawnEngine.ts # Spawn decision + line placement
renderer/
InvaderRenderer.ts # VS Code TextEditorDecoration management
ClickHandler.ts # Cursor-based click detection
collection/
CollectionView.ts # WebviewPanel gallery
sprites/
SpriteRegistry.ts # Sprite catalogue + weighted random pick
utils/
GitHelper.ts # Branch / commit from vscode.git API
config.ts # Read VS Code settings
generateId.ts # Unique invader IDs
npm install
npm run watch
# Press F5 in VS Code to launch Extension Development Host