Deep dive into each tool in the AI-native development environment.
- Terminal & Shell
- Window Management
- Git & Version Control
- File Management
- Development Languages
- Databases & Caching
- API & HTTP Tools
- Containers
- Monitoring & Observability
- AI & LLM Tools
GPU-accelerated terminal emulator
# Open config
open ~/.config/ghostty/config
# Reload config without restart
keybind: super+r=reload_config
# Fast startup
ghostty --working-directory ~/projectsWhy it matters: Fast, modern, GPU-accelerated rendering with great font rendering.
Smart shell prompt
# Initialize (auto-loaded in .zshrc)
eval "$(starship init zsh)"
# Customize
edit ~/.config/starship.toml
# Configuration options:
# - Git branch and status
# - Command exit code
# - Execution time
# - Environment variablesWhy it matters: Instant visual feedback on git status, errors, and directory context.
Terminal multiplexer (like tmux/screen)
# Start default session
zellij
# Start with specific layout
zellij --layout ~/devkit/zellij/layouts/main.kdl
# Key commands (default prefix is Ctrl+g):
# Ctrl+g + n: New pane
# Ctrl+g + x: Close pane
# Ctrl+g + t: New tab
# Ctrl+g + h: Left pane
# Ctrl+g + l: Right pane
# Ctrl+g + j: Down pane
# Ctrl+g + k: Up pane
# Ctrl+g + e: Resize mode
# Create custom layout
edit ~/.config/zellij/layouts/custom.kdlWhy it matters: Never lose context. Multiple panes run simultaneously without tab switching.
TUI for Git
# Open LazyGit
lazygit
# Key commands (with mouse support):
# Staging:
# Space: Stage/unstage file
# A: Stage all
# C: Commit
# P: Push
# L: Pull
# Navigation:
# Tab: Switch between panels
# ↑/↓: Navigate
# Enter: Drill into item
# Diffs:
# V: View commit details
# D: Discard changesWorkflow:
- Open LazyGit in right Zellij pane
- Stage files with Space
- Review diff before commit
- Write message with C
- Push with P
Terminal file manager with image previews
# Open file manager
yazi
# Key commands:
# j/k or ↑/↓: Navigate
# h/l or ←/→: Enter/exit directory
# Space: Select file/folder
# y: Copy selected
# d: Cut selected
# p: Paste
# x: Delete (with confirmation)
# r: Rename
# :shell <cmd>: Run shell command on selected
# Open file in editor
# Select file and press eWhy it matters: Visual file browsing with image previews—much faster than ls + cd.
Syntax-highlighted cat replacement
# View file with syntax highlighting
bat README.md
# Pipe to less
bat --paging=always largedata.json
# Print specific lines
bat --line-range 10:20 script.sh
# Show non-visible characters
bat -A file.txt
# Set as MANPAGER
export MANPAGER="sh -c 'sed -u 's/./[1m&/2g' | bat -p -lman'"
man lsSwitch between Node versions
# List installed versions
nvm list
# Install specific version
nvm install 20
nvm install 18
# Use version
nvm use 20
# Set default
nvm alias default 20
# Check current
node --versionFast Python package installer
# Install Python version
uv python install 3.11
# Create virtual environment
uv venv
# Activate
source .venv/bin/activate
# Install dependencies
uv pip install -r requirements.txt
# Add package
uv pip add requestsGolang support
# Check installation
go version
# Create module
go mod init github.com/user/project
# Run code
go run main.go
# Build
go build -o myapp
# Format code
go fmt ./...
# Lint
go vet ./...C# and .NET development
# Check version
dotnet --version
# Create project
dotnet new console -n MyApp
cd MyApp
# Run
dotnet run
# Build
dotnet build
# Publish
dotnet publish -c ReleaseRust programming language
# Check installation
rustc --version
cargo --version
# Create project
cargo new myproject
# Run
cargo run
# Build release
cargo build --release
# Run tests
cargo testRelational database
# Connect to database
psql -d mydeveloper -U devuser
# List databases
\l
# Connect to database
\c mydeveloper
# List tables
\dt
# Describe table
\d table_name
# Run query
SELECT * FROM users LIMIT 10;
# Exit
\q
# Backup database
pg_dump -d mydeveloper -U devuser > backup.sql
# Restore database
psql -d mydeveloper -U devuser < backup.sqlGUI Client: Use Postico 2 for visual browsing and management.
In-memory data store
# Connect
redis-cli
# Set value
SET key "value"
# Get value
GET key
# List keys
KEYS *
# Delete key
DEL key
# Set expiration
EXPIRE key 3600
# View all data
MONITOR
# Exit
exit or quitREST API client (similar to Postman)
# Open Yaak
open -a Yaak
# Features:
# - Request history
# - Environment variables
# - Pre/post request scripts
# - Response pretty-printing
# - API documentationWorkflow:
- Create workspace for your project
- Add environment with variables (API keys, URLs)
- Create requests with variables
- Test and debug responses
Containerization platform
# Check installation
docker --version
# Run container
docker run -it ubuntu bash
# List containers
docker ps -a
# Build image
docker build -t myimage .
# Push to registry
docker push myimage
# Docker Compose
docker-compose up -d
docker-compose logs -f
docker-compose downMac-native Docker alternative
# Open OrbStack dashboard
open /Applications/OrbStack.app
# Use as docker replacement
docker ps
# Manage VMs
orbctl machine listWhy: Better performance on Apple Silicon, integrated with macOS.
Resource monitor
# Open resource monitor
btop
# Key commands:
# q: Quit
# + / -: Increase/decrease refresh rate
# p: Process menu
# l: Processes list sortingWhat it shows:
- CPU usage per core
- Memory (RAM) usage
- Disk I/O
- Running processes
- Temperature (if available)
Modern ls replacement
# List files with icons
eza --icons
# Long listing with git status
eza -l --icons --git
# Show all (including hidden)
eza -la --icons --git
# Tree view
eza --tree --icons --level=3Why it matters: Color-coded file types, git status integration, and icons make directory listings instantly readable.
Modern find replacement
# Find files by name
fd "config"
# Find specific file types
fd -e js
# Find hidden files too
fd --hidden "env"
# Exclude directories
fd --exclude node_modules "test"
# Execute command on results
fd -e log --exec rm {}Why it matters: Respects .gitignore, sensible defaults, and integrates with fzf for instant file search.
Smart directory jumping
# Jump to a frequently used directory
z projects
# Interactive selection with fzf
zi
# Add a directory manually
zoxide add ~/projects/myapp
# List known directories
zoxide query --listWhy it matters: Learns your most-visited directories. z proj jumps to ~/projects without typing the full path.
Syntax-highlighted git diffs
# Automatically used via gitconfig (core.pager = delta)
git diff
git log -p
git show
# Navigate between diff sections
# n = next file, N = previous file (when navigate = true)Why it matters: Side-by-side diffs with syntax highlighting, line numbers, and Catppuccin theme. LazyGit picks it up automatically.
Command-line JSON processor
# Pretty-print JSON
cat data.json | jq '.'
# Extract a field
curl -s api/endpoint | jq '.data.name'
# Filter arrays
jq '.items[] | select(.status == "active")' data.json
# Transform output
jq '{name: .user.name, email: .user.email}' response.jsonWhy it matters: Essential for working with APIs and JSON config files.
Simplified man pages
# Get quick examples
tldr tar
tldr git-rebase
tldr docker-compose
# Update local cache
tldr --updateWhy it matters: Shows practical examples instead of 2000 lines of man page.
Visual disk usage analyzer
# Show disk usage for current directory
dust
# Show specific depth
dust -d 2
# Show specific directory
dust ~/projects
# Show number of files
dust -fWhy it matters: Quickly find what's eating disk space (node_modules, docker images, etc).
Fuzzy finder
# Find files (Ctrl+T in shell)
# Jump to directory (Alt+C in shell)
# Search command history (Ctrl+R in shell)
# Pipe anything into fzf
git branch | fzf
ls | fzf
# Preview files while searching
fzf --preview 'bat --color=always {}'Why it matters: Instant fuzzy search for files, directories, command history, and more. Integrates with fd for speed.
Fast text search
# Search for pattern
rg "search term"
# Search in specific file type
rg "pattern" -t js
# Search with context
rg -C 3 "pattern" # 3 lines before and after
# Count matches
rg --count "pattern"
# Show only filenames
rg -l "pattern"
# Case-insensitive
rg -i "pattern"
# Regex search
rg "^\s*function" -t js
# Exclude directories
rg "pattern" --glob !node_modulesPrivacy-focused browser
# Open from CLI
open -a Brave
# Features:
# - Built-in adblocker
# - Tracker blocking
# - HTTPS everywhere
# - Tor private windows
# - Developer tools (Chrome-compatible)Code editor
# Open project
code ~/projects/myapp
# Open in VS Code from CLI
code -r .
# Useful extensions:
# - Copilot
# - GitLens
# - Thunder Client (API testing)
# - Database extensions
# - Language-specific extensionsLLM testing, evaluation & red-teaming
# Install (already in brewfile, or via npm)
brew install promptfoo
# Initialize in your project
promptfoo init
# Run evaluations
promptfoo eval
# Open the web UI to compare results
promptfoo view
# Red-team your LLM app
promptfoo redteam init
promptfoo redteam runWhy it matters: Test prompts across models, catch regressions, and scan for vulnerabilities before shipping AI features.
LLM parameter optimization tool
# Install via pip
pip install heretic
# Run with a model name
heretic <model-name>
# Save modified model
# Test interactively after optimizationA research CLI tool that applies directional ablation techniques to transformer models for parameter optimization. Supports most dense and MoE architectures with automated tuning via Optuna.
Design skill for AI coding assistants
# Install into your AI assistant's config
# Copy skill files into your project or tool config directory
# Available commands (in AI assistant):
# /audit - Review UI for design issues
# /polish - Refine typography, spacing, color
# /critique - Get design feedback
# /animate - Add motion designA skill package (not a CLI) that enhances AI code assistants with 17 design commands and curated anti-patterns. Covers typography, color, spacing, motion, interaction, responsive design, and UX writing. Fights common LLM design biases.
Context database for AI agents
# Install via pip
pip install openviking
# Start the server
openviking-server
# CLI interaction
ov_cli <command>
# Python SDK usage
from openviking import Client
client = Client()A unified context management system for AI agents — consolidates memory, resources, and skills into a file-system-like architecture. Supports hierarchical context organization, semantic search, tiered context loading, and automatic session management.
Start development session:
zdev # Starts Zellij with 3 panes (AI + Git + Shell)Check database:
psql -d mydeveloper -U devuser
SELECT count(*) FROM users;
\qView recent changes:
lazygit # In right pane of ZellijMonitor system:
btop # Open in separate paneSearch codebase:
rg "todo" --type js| Action | Shortcut |
|---|---|
| Reload config | Cmd+R |
| New window | Cmd+N |
| New tab | Cmd+T |
| Close tab | Cmd+W |
| Action | Shortcut |
|---|---|
| New pane (vertical) | Ctrl+G + N |
| Zoom pane | Ctrl+G + Z |
| Close pane | Ctrl+G + X |
| Move to next pane | Ctrl+G + L/H |
| Resize pane | Ctrl+G + E (then arrow keys) |
| Action | Shortcut |
|---|---|
| Stage file | Space |
| Stage all | A |
| Commit | C |
| Push | P |
| Pull | L |
| View diff | D |
| Discard changes | D (in unstaged) |
- Use ripgrep instead of grep — Much faster
- Use bat instead of cat — Syntax highlighting is free
- Use lazygit instead of git CLI — Faster workflow
- Use yazi instead of Finder — Terminal-native navigation
- Keep Zellij panes organized — Don't open too many at once