gradleup
v0.1.0
Published
Telescope for Gradle - Find and run tasks at the speed of thought
Maintainers
Readme
GradleUp 🚀
Telescope for Gradle - Find and run tasks at the speed of thought
GradleUp is a modern, interactive terminal-based tool for Gradle project management. It provides a telescope.nvim-inspired fuzzy search interface for discovering, exploring, and executing Gradle tasks with real-time feedback.

✨ Features
- ⚡ Instant Fuzzy Search - Find tasks across your entire Gradle project in milliseconds
- 🎯 Smart Filtering - Use
@projector#groupprefixes for quick filtering - ⭐ Favorites - Star frequently used tasks for quick access
- 📊 Real-time Progress - Watch task execution with live progress updates
- 📜 History - Browse and re-run previous executions
- ⌨️ Vim-style Keybindings - Navigate like a pro with familiar shortcuts
- 🎨 Beautiful UI - Rich terminal interface with colors and icons
🚀 Quick Start
Installation
npm install -g gradleupOr use directly with npx:
npx gradleupUsage
Navigate to your Gradle project and run:
gradleup
# or
gupDirect Execution
Run tasks without entering interactive mode:
gradleup --run build test⌨️ Keyboard Shortcuts
Navigation
| Key | Action |
|-----|--------|
| ↑/↓ or j/k | Navigate list |
| g/G | Jump to top/bottom |
| Ctrl+U/D | Half-page scroll |
| Enter | Execute selected |
| Escape | Back/Cancel |
Search & Filter
| Key | Action |
|-----|--------|
| Type | Start searching |
| @project | Filter by project (e.g., @app) |
| #group | Filter by group (e.g., #build) |
| Ctrl+R | Refresh task list |
Selection
| Key | Action |
|-----|--------|
| Space | Toggle multi-select |
| Ctrl+A | Select all |
| s | Star/favorite task |
| d | Show task details |
Views
| Key | Action |
|-----|--------|
| Ctrl+H | History view |
| Ctrl+T | Project tree |
| ? | Help |
🎨 Interface Preview
Main Search View
┌─ GradleUp v0.1.0 ────────────────────────────────────────────┐
│ 🔍 Search: build [ESC] Exit │
├──────────────────────────────────────────────────────────────┤
│ │
│ > build :app Assembles build │
│ buildDependents :app Builds all deps │
│ clean :app Deletes build dir │
│ test :app Runs unit tests │
│ │
│ [4 matches] [⭐ 2 favorites] │
├──────────────────────────────────────────────────────────────┤
│ ↑↓: Navigate │ ⏎: Execute │ Space: Multi-select │ s: Star │
└──────────────────────────────────────────────────────────────┘Task Execution View
┌─ Executing: ./gradlew :app:build ───────────────────────────┐
│ │
│ ▶ Executing 4 tasks │
│ ✓ :lib-core:compileKotlin (3.4s) │
│ ✓ :lib-core:classes (0.1s) │
│ ⏳ :app:compileKotlin (1.2s) │
│ ○ :app:assemble (—) │
│ │
│ [2/4 tasks] [50%] [⏱ 4.7s elapsed] │
├──────────────────────────────────────────────────────────────┤
│ ⌃C: Cancel │
└──────────────────────────────────────────────────────────────┘⚙️ Configuration
GradleUp stores configuration in ~/.gradleup/config.json:
{
"theme": "dark",
"keybindings": "vim",
"searchDebounce": 150,
"display": {
"showDescriptions": true,
"compactMode": false
},
"execution": {
"parallelTasks": true,
"showTimings": true
}
}Project-specific Config
Create .gradleup.json in your project root:
{
"taskGroups": {
"precommit": ["clean", "build", "test"],
"ci": ["clean", "build", "test", "check"]
},
"aliases": {
"bt": "build test"
},
"excludeTasks": ["wrapper"]
}🔧 CLI Options
Usage: gradleup [options]
Options:
-V, --version output the version number
-p, --path <path> Path to Gradle project (default: current directory)
-r, --run <tasks...> Run specific tasks directly without interactive mode
--parallel Enable parallel execution (default: true)
--no-parallel Disable parallel execution
--build-cache Enable build cache (default: true)
--no-build-cache Disable build cache
--dry-run Show what would be executed without running
-q, --quiet Suppress output
-h, --help display help for command🛠️ Development
Prerequisites
- Node.js 18+
- npm or yarn
Setup
git clone https://github.com/yourusername/gradleup.git
cd gradleup
npm installRunning in Development
npm run devBuilding
npm run build📦 Project Structure
gradleup/
├── src/
│ ├── cli.tsx # CLI entry point
│ ├── components/ # React Ink UI components
│ │ ├── common/ # Reusable components
│ │ ├── views/ # Main screen views
│ │ └── App.tsx # Main application
│ ├── core/ # Business logic
│ │ ├── scanner.ts # Gradle task discovery
│ │ ├── executor.ts # Task execution engine
│ │ ├── search.ts # Fuzzy search
│ │ └── cache.ts # Caching system
│ ├── store/ # State management
│ ├── hooks/ # Custom React hooks
│ └── types/ # TypeScript definitions
├── package.json
└── tsconfig.json🤝 Contributing
Contributions are welcome! Please read our Contributing Guide for details.
📄 License
MIT © [Your Name]
