Intelligent cross-platform terminal with smart features for developers
Project description
DevTerminal 2.0 ๐
The intelligent cross-platform terminal that every developer needs.
Fast startup โข Smart error recovery โข Port management โข Project switching โข HTTP testing โข Auto-completion
๐ Table of Contents
- Why DevTerminal?
- Features
- Installation
- Quick Start
- Usage Guide
- Configuration
- Keyboard Shortcuts
- Examples
- Troubleshooting
- Contributing
- License
๐ฏ Why DevTerminal?
Stop switching between 10 different tools. DevTerminal brings everything you need into one beautiful terminal:
- โ Smart Error Recovery - Auto-fixes typos (no more "command not found")
- โ Port Manager - See what's running where, kill processes instantly
- โ Project Switcher - Jump between projects in milliseconds
- โ HTTP Testing - Test APIs without leaving terminal
- โ Git Integration - Shows branch in prompt + shortcuts
- โ Auto-Completion - Intelligent command and path completion
- โ Cross-Platform - Works on Windows, Linux, and macOS
- โ Lightning Fast - Instant startup, no lag
โจ Features
Core Features
- ๐ Instant startup - No loading screens or animations
- ๐จ Beautiful UI - Kali Linux-style colored prompts
- ๐ Command history - Persistent history with search
- ๐ Smart completion - Commands, paths, and fuzzy matching
- ๐ฟ Git integration - Current branch in prompt
- ๐ป Cross-platform - Windows, Linux, macOS support
Developer Features
- ๐ ๏ธ Smart Error Recovery - Auto-suggests corrections for typos
- ๐ Port Manager - Monitor and manage running ports
- โก Project Switcher - Quick navigation between projects
- ๐ HTTP Testing - Built-in API testing with pretty output
- ๐ฆ Project Detection - Auto-detects Node, Python, Docker, etc.
- ๐ Environment Support - Auto-detects virtual environments
๐ฆ Installation
From PyPI (Recommended)
pip install devterminal-cli
From Source
git clone https://github.com/codedevkmd/devterminal.git
cd devterminal
pip install -e .
Requirements
- Python 3.7 or higher
- Works on Windows, Linux, and macOS
Dependencies
All dependencies are installed automatically:
prompt_toolkit- Interactive terminalrich- Beautiful output formattingcolorama- Cross-platform colorspygments- Syntax highlightingpsutil- Port management
๐ Quick Start
# Install
pip install devterminal-cli
# Run
devterminal
# You'll see:
โโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโ โโโโโโโโโโโ โโโ โโโโโโ โโโ
# ... beautiful banner ...
user@hostname:~/projects$ _
First steps:
# Try error recovery
$ git psuh
๐ก Did you mean: git push?
# Check your ports
$ ports
# Add a project
$ proj add myapp ~/projects/my-app
# Test an API
$ http localhost:3000
๐ Usage Guide
Basic Commands
All standard terminal commands work:
# Navigation
cd /path/to/directory # Change directory
cd ~ # Go to home directory
cd - # Go to previous directory
pwd # Print working directory
# File operations
ls # List files (or 'll' for detailed)
mkdir folder_name # Create directory
touch file.txt # Create file
rm file.txt # Remove file
cp source dest # Copy
mv source dest # Move
# System
clear # Clear screen (or cls on Windows)
exit # Exit terminal (or Ctrl+D)
1. Smart Error Recovery ๐ ๏ธ
Never struggle with typos again.
How it works:
- Detects command typos automatically
- Suggests the correct command
- One-key confirmation to run
Examples:
# Git typos
$ git psuh origin main
โ Command not found: git psuh
๐ก Did you mean: git push?
Run this command? [Y/n]: y
โ Running: git push origin main
# Docker typos
$ dokcer ps
๐ก Did you mean: docker?
# Common mistakes
$ cd..
๐ก Did you mean: cd ..?
$ claer
๐ก Did you mean: clear?
$ npm rnu dev
๐ก Did you mean: npm run?
Supported corrections:
- Git commands:
psuhโpush,comitโcommit,checkotuโcheckout - Docker:
dokcerโdocker,docker-comopseโdocker-compose - Common:
cd..โcd ..,claerโclear,pyhtonโpython - And many more...
2. Port Manager ๐
See what's running where, manage ports effortlessly.
Commands:
Show all active ports
$ ports
โโโโโโโโโโณโโโโโโโโโณโโโโโโโโโโโโโโโโณโโโโโโโโโโ
โ Port โ PID โ Process โ Status โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ 3000 โ 12345 โ node โ LISTEN โ
โ 5432 โ 8901 โ postgres โ LISTEN โ
โ 8080 โ 23456 โ python โ LISTEN โ
โ 27017 โ 34567 โ mongod โ LISTEN โ
โโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโ
Filter by process name
$ ports node
โโโโโโโโโโณโโโโโโโโโณโโโโโโโโโโโโโโโโณโโโโโโโโโโ
โ Port โ PID โ Process โ Status โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ 3000 โ 12345 โ node โ LISTEN โ
โ 3001 โ 12346 โ node โ LISTEN โ
โโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโ
Kill process on port
$ kill-port 3000
Found: node (PID: 12345) on port 3000
Kill this process? [y/N]: y
โ Killed process on port 3000
Use cases:
- "Port already in use" errors โ
kill-port 3000 - What's running? โ
ports - Kill all Node processes โ
ports nodethen kill each - Before starting dev server โ Check and clear ports
3. Project Switcher โก
Jump between projects instantly with context.
Commands:
Add a project
# Add current directory
$ proj add webapp
โ Project 'webapp' saved
# Add specific path
$ proj add api ~/work/api-server
โ Project 'api' saved
$ proj add mobile /Users/dev/projects/mobile-app
โ Project 'mobile' saved
List all projects
$ proj list
โโโโโโโโโโโณโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโ
โ Name โ Type โ Path โ Git โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ webapp โ node โ ~/projects/webapp โ main โ
โ api โ python โ ~/work/api-server โ develop โ
โ mobile โ node โ /Users/dev/projects/mobile โ feature โ
โโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโ
Switch to a project
$ proj webapp
โ Switching to: webapp
Path: ~/projects/webapp
Type: node
Branch: main
๐ก Virtual environment detected
# You're now in the webapp directory!
user@hostname:~/projects/webapp$
Remove a project
$ proj remove mobile
โ Project 'mobile' removed
Auto-detection features:
- Project type: Node, Python, Rust, Go, Java, Ruby, PHP
- Git branch: Current branch if it's a git repo
- Virtual env: Detects venv, .venv, env folders
- Last accessed: Tracks when you last used it
Use cases:
- Client projects:
proj client-a,proj client-b - Work/Personal:
proj work-api,proj side-project - Microservices:
proj frontend,proj backend,proj admin - Quick context switch: Jump and see git branch + env immediately
4. HTTP Testing ๐
Test APIs without leaving your terminal.
Commands:
GET Request
$ http localhost:3000/api/users
GET http://localhost:3000/api/users
Status: 200 OK
โญโโโโโโโโโโโโโโโโโโโโโโโโ Response Headers โโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ Content-Type application/json; charset=utf-8 โ
โ Content-Length 156 โ
โ Date Mon, 15 Jan 2024 10:30:00 GMT โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โญโโโโโโโโโโโโโโโโโโโโโโโโ Response Body โโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ [ โ
โ { โ
โ "id": 1, โ
โ "name": "John Doe", โ
โ "email": "john@example.com" โ
โ }, โ
โ { โ
โ "id": 2, โ
โ "name": "Jane Smith", โ
โ "email": "jane@example.com" โ
โ } โ
โ ] โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
POST Request
$ post localhost:3000/api/users '{"name":"Alice","email":"alice@test.com"}'
POST http://localhost:3000/api/users
Status: 201 Created
โญโโโโโโโโโโโโโโโโโโโโโโโโ Response Body โโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ { โ
โ "id": 3, โ
โ "name": "Alice", โ
โ "email": "alice@test.com", โ
โ "created_at": "2024-01-15T10:30:00Z" โ
โ } โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Headers Only
$ headers google.com
HEAD http://google.com
Status: 200
Server gws
Content-Type text/html; charset=ISO-8859-1
Cache-Control private, max-age=0
X-Frame-Options SAMEORIGIN
Features:
- โ Beautiful JSON formatting with syntax highlighting
- โ
Auto HTTP/HTTPS - Adds
http://if missing - โ Color-coded status - Green (2xx), Yellow (3xx), Red (4xx/5xx)
- โ Works with localhost and external APIs
- โ Shows headers and body
Use cases:
- API development: Quick endpoint testing
- Debugging: Check API responses
- Server health:
http localhost:3000/health - Webhooks testing: Test POST endpoints
- API exploration: Try new endpoints
5. Git Shortcuts ๐ฟ
Pre-configured Git aliases for faster workflow.
# Git shortcuts (built-in)
$ gs # git status
$ ga # git add .
$ gc "message" # git commit -m "message"
$ gp # git push
$ gl # git log --oneline
$ gd # git diff
# Regular git commands still work
$ git checkout -b feature
$ git merge main
$ git pull origin develop
Git branch in prompt:
# When in a git repo, branch shows in prompt
user@hostname:~/projects/webapp (main)$
# Color-coded branch indicator
user@hostname:~/api (develop)$
6. Auto-Completion
Smart command and path completion.
How to use:
- Press Tab to see completions
- Press Right Arrow to accept suggestion
- Type and get fuzzy matches
Command completion:
$ gi<TAB>
git
$ doc<TAB>
docker
$ np<TAB>
npm
Path completion:
$ cd pro<TAB>
projects/
$ cd projects/my<TAB>
projects/my-app/
projects/my-website/
# Case-insensitive fuzzy matching
$ cd MYapp<TAB>
my-app/
Features:
- โ Command name completion
- โ File and directory completion
- โ Case-insensitive matching
- โ Fuzzy matching fallback
- โ Shows file type metadata
โ๏ธ Configuration
Configuration file: devcli/config.py
Customize Colors
# Prompt colors
PROMPT_USER_COLOR = "ansigreen" # User@host color
PROMPT_PATH_COLOR = "ansiblue" # Directory color
PROMPT_GIT_COLOR = "cyan" # Git branch color
# Available colors:
# ansigreen, ansiblue, ansired, ansiyellow,
# ansicyan, ansimagenta, ansiwhite
Customize Prompt Symbol
PROMPT_SYMBOL_UNIX = "$" # Unix/Linux/Mac
PROMPT_SYMBOL_WINDOWS = ">" # Windows
Add Custom Aliases
COMMAND_ALIASES = {
# Your custom shortcuts
"mycommand": ["full", "command", "here"],
"deploy": ["npm", "run", "deploy"],
"test": ["pytest", "-v"],
}
Toggle Features
SHOW_BANNER = True # Show startup banner
SHOW_GIT_BRANCH = True # Show git branch in prompt
COMPRESS_HOME_DIR = True # Show ~ instead of /home/user
COMPLETE_WHILE_TYPING = False # Auto-complete as you type
Add Folder Descriptions
FOLDER_DESCRIPTIONS = {
'api': 'API endpoints',
'tests': 'Test suite',
'docs': 'Documentation',
'scripts': 'Build scripts',
}
โจ๏ธ Keyboard Shortcuts
| Shortcut | Action |
|---|---|
| Tab | Show completions |
| Right Arrow | Accept auto-suggestion |
| Ctrl + R | Search command history |
| Ctrl + C | Cancel current line |
| Ctrl + D | Exit terminal |
| Ctrl + L | Clear screen |
| Up/Down | Navigate history |
๐ก Examples
Daily Workflow Example
# Start your day
$ devterminal
# Check what's running
$ ports
# Switch to your project
$ proj webapp
# See current status
$ gs
# Start dev server (after killing old one)
$ kill-port 3000
$ npm run dev
# Test your API
$ http localhost:3000/api/health
# Make changes, commit
$ ga
$ gc "Add new feature"
$ gp
Project Setup Example
# Add all your projects once
$ proj add frontend ~/work/frontend
$ proj add backend ~/work/backend
$ proj add mobile ~/personal/mobile-app
# Now switch instantly
$ proj frontend
$ proj backend
$ proj mobile
# List them anytime
$ proj list
API Testing Example
# Test GET
$ http localhost:3000/api/users
# Test POST
$ post localhost:3000/api/users '{"name":"Test User"}'
# Check headers
$ headers api.example.com
# Test with external API
$ http jsonplaceholder.typicode.com/users/1
Port Management Example
# See all ports
$ ports
# Find what Node is using
$ ports node
# Kill the blocker
$ kill-port 3000
# Verify it's gone
$ ports
๐ Troubleshooting
DevTerminal won't start
# Reinstall dependencies
pip install --upgrade devterminal
# Or from source
pip install -e . --force-reinstall
Auto-completion not working
# Check config
cat devcli/config.py | grep COMPLETE_WHILE_TYPING
# Try pressing Tab twice instead of once
Git branch not showing
# Make sure you're in a git repo
git status
# Check config
# In config.py, set:
SHOW_GIT_BRANCH = True
Port manager showing nothing
# On Linux, you might need sudo
sudo devterminal
# Or check if psutil is installed
pip install psutil
Import errors
# Install all dependencies
pip install prompt_toolkit rich colorama pygments psutil
Slow startup
DevTerminal 2.0 has instant startup! If it's slow:
# Clear Python cache
find . -type d -name __pycache__ -exec rm -r {} +
# Reinstall
pip uninstall devterminal
pip install devterminal
๐ค Contributing
We love contributions! Here's how:
Report Bugs
Open an issue with:
- What you expected
- What happened
- Steps to reproduce
- Your OS and Python version
Request Features
Open an issue describing:
- The feature
- Why it's useful
- Example usage
Submit Code
- Fork the repo
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
Development Setup
# Clone
git clone https://github.com/yourusername/devterminal.git
cd devterminal
# Install in development mode
pip install -e .
# Make changes
# Test
python -m devcli.main
# Format code
black devcli/
# Submit PR
๐ License
MIT License - see LICENSE file for details.
๐ Credits
Built with these amazing libraries:
- prompt_toolkit - Interactive CLI
- Rich - Beautiful terminal output
- Pygments - Syntax highlighting
- psutil - Process management
- Colorama - Cross-platform colors
๐ฎ Support
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ง Email: your.email@example.com
๐ What's Next?
Upcoming features:
- ๐ฅ Session recording and replay
- ๐ Smart clipboard manager
- ๐๏ธ Database quick connect
- ๐ค AI command helper
- ๐ Secrets manager
- ๐ Command analytics
Made with โค๏ธ by developers, for developers.
Star โญ this repo if DevTerminal makes your life easier!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devterminal-2.0.0.tar.gz.
File metadata
- Download URL: devterminal-2.0.0.tar.gz
- Upload date:
- Size: 30.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2273ab704d185cda59ef4e555d0c07dd4ac024ea9e99dc9c6bb753f2199aa59
|
|
| MD5 |
d0afc9eb098d9fc8190ad20173248e01
|
|
| BLAKE2b-256 |
cb2d23be7bb0638725d97b15cafa1473b3bdee46a722839960b3fed0b7294368
|
File details
Details for the file devterminal-2.0.0-py3-none-any.whl.
File metadata
- Download URL: devterminal-2.0.0-py3-none-any.whl
- Upload date:
- Size: 29.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
986df292824ce830f472c0163632d5e054f776dc85160b81988cf8eeb793cdc3
|
|
| MD5 |
8e6e366d5d1f06a9bd85b5de10eb4f2a
|
|
| BLAKE2b-256 |
34797b2cb615128e3a9d8e803dd3a5cf5a2365238bc19c3dc78467fd3729c9e3
|