Nessy CLI Wrapper
Nessy is a convenient CLI wrapper that simplifies your development workflow by providing shortcuts for common Deno and Lockness commands. Instead of typing deno task cli every time, just use ./nessy.
Installation
Generate the Nessy wrapper in your project:
deno task cli nessy:installThis creates a nessy script (or nessy.cmd on Windows) in your project root and makes it executable. The script is automatically added to .gitignore.
Basic Usage
Once installed, use Nessy instead of deno task cli:
# Instead of:
deno task cli make:controller User
# Use:
./nessy make:controller UserNessy passes all arguments directly to the CLI CLI, so all your existing commands work exactly the same way.
Developer Experience Commands
Nessy includes several built-in commands to improve your development workflow:
Development Server
Start the development server with hot-reload:
./nessy devThis is equivalent to deno task dev but faster to type.
Compile Standalone Binary
Create a standalone executable:
./nessy compileThis runs deno task compile to generate a self-contained binary in _dist/lockness. The binary includes the Deno runtime and all dependencies, perfect for deployment on VPS or traditional hosting environments.
Testing
Run tests with various options:
# Run all tests
./nessy test
# Run tests matching a pattern
./nessy test UserService
# Watch mode (re-run on changes)
./nessy test --watchType Checking
Type-check all TypeScript files in your project:
./nessy checkRuns deno check */.ts */.tsx to verify type correctness without running the code.
Fresh Install
Clean all caches and reinstall dependencies:
./nessy freshThis command:
- Removes
dist,coverage,.compileddirectories - Clears the Deno cache
- Rebuilds
deno.lockwith fresh dependencies
Useful when you encounter cache-related issues or dependency conflicts.
Clean Build Artifacts
Remove build artifacts without touching dependencies:
./nessy cleanOnly removes dist, coverage, and .compiled directories. Faster than fresh when you just need to clean build outputs.
Watch Mode
Start development server in watch mode:
./nessy watchEquivalent to deno task dev --watch for automatic restart on file changes.
Project Status
Display project health information:
./nessy statusShows:
- Git status (branch, uncommitted changes)
- Deno version
- Database configuration (from DATABASE_URL)
- Nessy installation status
Example output:
🌊 Nessy Status Report
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📦 Git
Branch: main
Status: 3 files modified, 1 file staged
🦕 Deno
Version: 2.1.4
🗄️ Database
Provider: PostgreSQL
Host: localhost:5432
Database: lockness_dev
✅ Nessy
Status: Ready
Location: ./nessyInstall Dependencies
Add packages using Deno's package manager:
./nessy install zod
./nessy install @std/path@^1.0.0Equivalent to deno add .
Version Information
Display Lockness and Nessy version:
./nessy --versionHelp
Show all available Nessy commands:
./nessy --helpDisplays comprehensive help including:
- CLI commands (make:_, db:_, etc.)
- Developer experience commands
- Usage examples
Command Summary
| Command | Description | | ------------------------ | ------------------------------- | | ./nessy | Run any CLI CLI command | | ./nessy dev | Start development server | | ./nessy build | Build production bundle | | ./nessy compile | Compile standalone binary | | ./nessy start | Start production server | | ./nessy test [pattern] | Run tests (optionally filtered) | | ./nessy check | Type-check all files | | ./nessy fresh | Clean everything and reinstall | | ./nessy clean | Remove build artifacts only | | ./nessy watch | Dev server in watch mode | | ./nessy status | Show project health info | | ./nessy install | Add a dependency | | ./nessy --version | Show version information | | ./nessy --help | Display help |
Platform Support
Nessy works on all major platforms:
- Unix/Linux/macOS: Uses shell script (
nessy) - Windows: Uses batch script (
nessy.cmd)
The correct script is automatically generated based on your operating system when you run nessy:install.
Why Nessy?
1. Faster to type: ./nessy vs deno task cli 2. Consistent interface: One command for all operations 3. Enhanced DX: Built-in shortcuts for common tasks 4. Project-specific: Generated per-project, not global 5. Always up-to-date: Calls cli.ts directly, no compilation needed
Examples
# Scaffolding
./nessy make:controller Post
./nessy make:controller Post --view # With automatic view generation
./nessy make:action Post show # Add action to existing controller
./nessy make:model Comment -a
./nessy make:auth --social
# Database operations
./nessy db:generate
./nessy db:migrate
./nessy db:studio
# Development workflow
./nessy dev # Start server
./nessy test User # Run user tests
./nessy check # Verify types
./nessy router:list # Show all routes
# Production
./nessy compile # Create standalone binary
./nessy build # Build CSS/assets
# Maintenance
./nessy clean # Clean build
./nessy fresh # Full reset
./nessy status # Check healthUninstallation
If you want to remove Nessy, simply delete the script:
# Unix/Linux/macOS
rm nessy
# Windows
del nessy.cmdYou can reinstall it anytime with deno task cli nessy:install.