wakerepo
v0.3.7
Published
Wake and archive local Git workspaces on demand.
Maintainers
Readme
WakeRepo
WakeRepo is a local Git workspace manager with an interactive Terminal User Interface (TUI).
It wakes projects when you want to work on them and archives them when you want to free disk space.
Concept
The workspace contains:
repos/: bare repositories used as persistent Git storage.active/: editable worktrees for active projects.preserved/: local files preserved between activations, such as.env.cache/: reserved space for future shared caches.repo-manager.json: local project registry.
Installation & Usage
WakeRepo now operates exclusively through an interactive visual menu.
npm install -g wakerepo
wakerepo -w D:\workspaceYou can also run it via npx without installing globally:
npx wakerepo -w D:\workspaceIf the -w (workspace) argument is omitted, WakeRepo will use the current directory or the WAKEREPO_HOME environment variable if set.
Features
The interactive dashboard allows you to:
- 📋 List Projects: View all managed projects, their states, active branches, sync status, and storage size.
- 🎯 Manage Projects: Open the project dashboard to start, stop, check status, and sync.
- ▶️ Start Project: Activate a project by creating a git worktree. You can choose different profiles (Default, Light, Full, Docker, No-Install).
- ⏹️ Stop Project: Archive the project by removing the worktree and preserving important local files (like
.env). If there are pending changes, the TUI will prompt you to commit, stash, or discard them safely. - 📝 Manage Changes: Interactive menu for committing, stashing, or discarding local changes.
- 🌳 Manage Branches: Switch between branches or create new ones seamlessly.
- 🔄 Sync: Fetch, pull, and push with your remote.
- 💾 Stash: Save new stashes and apply/pop existing ones.
- ⚙️ Config: Set up custom commands for starting, installing dependencies, and managing Docker containers.
- 🔍 Scan & Adopt: Automatically scan directories for existing Git repositories and adopt them into the WakeRepo managed storage in bulk.
- 📦 Import/Export: Export your workspace configuration to a JSON file and import it elsewhere to quickly recreate your project list.
Activation Profiles
When starting a project through the menu, you can choose:
- Default: standard activation, installs dependencies if necessary.
- Full: activates, installs dependencies, and runs the start scripts.
- Light: activates without installing dependencies, Docker, or running scripts.
- No-Install: skips dependency installation but allows scripts and Docker.
- Docker: starts Docker containers (via
docker compose up) and installs dependencies.
Publishing
npm login
npm publishBefore publishing a real version, run:
npm run check
npm pack --dry-run