Kerberos Interactive New Entry Manager
A Windows application for managing Windows Explorer "New" context menu entries. Easily add, edit, and remove custom file types from the right-click "New" menu.
- Easy Management: Add, edit, and delete custom file type entries in the Windows "New" context menu
- Template Support: Create new files with pre-populated template content
- Custom Icons: Assign custom icons to your file types
- Modern UI: Clean, responsive interface with dark/light/system theme support
- Secure: Input validation, sanitization, and comprehensive logging
- Portable Config: All settings stored in user's AppData for easy backup
- Windows 10/11
- Administrator privileges (for registry modifications)
- Download
KINEM.exefrom the releases page - Run the executable
- Grant administrator privileges when prompted (required for registry access)
- Click "Add New Entry"
- Enter the file extension (e.g.,
.mdormd) - Enter a display name (e.g., "Markdown File")
- (Optional) Enter an icon path (e.g.,
C:\Path\To\Icon.ico) - (Optional) Add template content for new files
- Click the "Edit" button next to the entry
- Modify the desired fields
- Confirm the changes
- Click the "Delete" button next to the entry
- Confirm the deletion
Click the theme button in the top-right corner to cycle between:
- βοΈ Light mode
- π Dark mode
- π» System (follows OS preference)
- Frontend: Vanilla JavaScript with Tailwind CSS
- Backend: Go (Windows registry operations, config management)
- Framework: Wails v2 (Go + WebView2)
- Config Location:
%APPDATA%\KINEM\config.json - Templates:
%APPDATA%\KINEM\templates\ - Logs:
%APPDATA%\KINEM\logs\
KINEM creates the following registry structure for each entry:
HKEY_CLASSES_ROOT
βββ .<extension>
β βββ (Default) = "<progid>file"
β βββ ShellNew
β βββ NullFile = "" (for empty files)
β βββ FileName = "<template_path>" (for templated files)
βββ <progid>file
βββ (Default) = "<display_name>"
βββ DefaultIcon (optional)
βββ (Default) = "<icon_path>"
- Input Validation: All user input is validated against strict patterns
- Path Traversal Protection: Icon and template paths are validated to prevent directory traversal attacks
- Registry Sanitization: Dangerous characters are filtered from registry writes
- Error Logging: Comprehensive logging with context for debugging
- Duplicate Detection: Prevents conflicts from duplicate extensions
- Go 1.21+
- Node.js 16+
- Wails CLI v2.10+
# Install dependencies
go mod download
cd frontend && npm install
# Development mode (hot reload)
wails dev
# Production build
wails build# Backend tests
cd backend
go test -v -cover
# All tests
go test ./... -v -coverCurrent test coverage: 30.5% (target: 80%)
KINEM/
βββ backend/ # Go backend code
β βββ app.go # Main app logic (CRUD operations)
β βββ config.go # Configuration management
β βββ registry.go # Windows registry operations
β βββ validation.go # Input validation & sanitization
β βββ logger.go # Logging system
β βββ types.go # Data structures
β βββ *_test.go # Unit tests
βββ frontend/ # Frontend code
β βββ src/
β β βββ main.js # Main application logic
β β βββ styles.css# Tailwind CSS
β βββ index.html # HTML structure
β βββ package.json # Dependencies
βββ main.go # Wails entry point
βββ wails.json # Wails configuration
βββ README.md # This file
KINEM requires administrator privileges to modify the Windows registry. Right-click the executable and select "Run as administrator".
Try refreshing Explorer:
- Press
Win + R - Type
taskkill /f /im explorer.exe && start explorer.exe - Press Enter
Ensure the icon path points to a valid .ico file. Icon paths must be absolute Windows paths:
- Valid:
C:\Windows\System32\shell32.dll,0 - Invalid:
./icon.ico(relative path)
Copyright Β© 2025 Kerberos Interactive
Contributions are welcome! Please ensure:
- All tests pass (
go test ./... -v) - Code follows Go and JavaScript best practices
- Commit messages use Conventional Commits format
Built with:
- Wails - Go + Web framework
- Tailwind CSS - CSS framework
- Go - Backend language
Note: Always backup your registry before making modifications. KINEM tracks all changes it makes and can safely remove them, but it's good practice to maintain backups.