@utarid/cryo
v1.0.0
Published
Smart project cleaner and archiver
Maintainers
Readme
cryo
cryo is an intelligent CLI tool designed for polyglot developers. It scans your workspaces, identifies forgotten projects, cleans up heavy build artifacts (like node_modules), and archives your source code securely.
Key Features
- Smart Scanning: Automatically detects Node.js, Flutter, Java, Python, Rust, .NET, PHP, and Swift projects.
- Deep Cleaning: Frees up disk space by deleting build artifacts with surgical precision.
- Backup: Archives your source code into
.tar.gzfiles. Capture full snapshots or lightweight source-only backups. - Rebuild Capability: Triggers build commands directly from the dashboard.
- Insightful Dashboard: Tracks modification dates vs. build status.
- Multi-Profile System: Manage separate configurations for Work, Personal, or Clients.
Supported Frameworks & Tools
cryo automatically detects the following project types and handles their specific build/clean operations:
| Framework | Detection File | Clean Target | Build Command |
| :--- | :--- | :--- | :--- |
| Node.js | package.json | node_modules, dist, .next | npm/yarn/pnpm install && build |
| Flutter | pubspec.yaml | build, .dart_tool | flutter pub get |
| Java (Maven) | pom.xml | target | mvn clean install |
| Java (Gradle)| build.gradle | build, .gradle | ./gradlew build |
| Python | requirements.txt | venv, __pycache__, dist | pip/pipenv install |
| Rust | Cargo.toml | target | cargo build |
| .NET | *.csproj, *.sln | bin, obj | dotnet build |
| PHP | composer.json | vendor | composer install |
| Swift/iOS | Podfile | Pods, build, DerivedData | pod install / swift build |
📦 Installation
Option 1: Run from Source
- Clone the repository:
git clone https://github.com/utariddev/cryo.git cd cryo - Install dependencies:
npm install - Run the CLI:
npx ts-node src/index.ts
Option 2: Install Globally
npm install -g @utarid/cryo
cryo📖 Usage Guide
Just type cryo (or the start command) to launch the interactive menu.
🚀 CLI Commands
You can use cryo directly from your terminal without entering the interactive menu.
| Command | Description | Example |
| :--- | :--- | :--- |
| cryo profiles list | List all saved profiles. | cryo profiles list |
| cryo profiles show <name> | Show specific profile details. | cryo profiles show Work |
| cryo profiles create <name> -p <paths> | Create a new profile. | cryo profiles create Work -p ./src,./apps |
| cryo profiles delete <name> | Delete a profile. | cryo profiles delete Tmp |
| cryo scan <target> | Scan and list projects in the target path or profile. | cryo scan ./projects |
| cryo clean <target> [-f] [-d] | Clean build folders. -f: Force, -d: Dry-run. | cryo clean Work -d |
| cryo build <target> | Rebuild all projects in the target. | cryo build ./my-app |
| cryo backup <target> [-o <path>] | Backup projects to a zip archive. | cryo backup Work -o ./backups |
- target: Can be a valid system path (e.g.,
./src) OR a saved profile name (e.g.,Work).
🛠️ Options & Flags
| Flag | Long Name | Description |
| :--- | :--- | :--- |
| -f | --force | Skips the confirmation prompt. Dangerous but useful for scripts. |
| -d | --dry-run | Simulation mode. Shows what would happen without deleting anything. |
| -p | --paths | Comma-separated list of paths (used in profiles create). |
| -i | --ignore | Comma-separated list of ignore patterns (used in profiles create). |
| -o | --out | Custom output directory for backups or profiles. |
1. Main Menu
The central hub where you can manage projects or configure profiles.
- 📂 List Projects: View all projects in the active profile, sortable by date.
- 🧹 Clean Projects: Select multiple projects to wipe their build folders.
- 🔨 Build Projects: Re-compile selected projects (streams output to terminal).
- 📦 Backup Projects: Archive source code to your configured Backup Path.
[!IMPORTANT] Raw Snapshot Philosophy: By default, cryo archives everything (including
node_modules,build, etc.) to ensure a perfect point-in-time snapshot.If you want a lightweight source-only backup, simply run the Clean command first, then perform the Backup.
2. Project Explorer
When you select List, cryo shows a clean, aligned table using breadcrumbs for context:
List Projects > Work
-----------------------
Date Build Status Type Project Name
------------------------------------------------------------
18.01.2026 19.01.2026 (dist) nodejs cryo (/Users/ben/works/cryo)
15.01.2026 None flutter mobile_app (/Users/ben/works/mobile_app)- Date: The last time you modified the source code (
src,lib, etc.). - Build Status: Shows the last build date and the artifact folder. Red "None" means no build found.
3. Profiles
You don't need to scan your whole disk every time. Create profiles for specific workflows:
- Default: Scans your current working directory.
- Work: Scans
~/Workand~/Clients. - Playground: Scans
~/Tmpand~/Tests.
⚙️ Configuration
cryo stores its configuration in ~/.cryo/profiles/. You can edit them via the CLI or manually.
Example Profile (default.json):
{
"profileName": "Work",
"scanPaths": ["/Users/me/projects"],
"ignoredPaths": ["**/*.log", "**/tmp/**"],
"archivePath": "/Users/me/cryo_Archives"
}🤝 Contributing
Contributions are welcome!
- Fork the project.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
📝 License
Distributed under the MIT License. See LICENSE for more information.
