How amir-s/dev works
dev is a developer-oriented CLI for managing local Git projects and automating common project tasks. Users invoke commands through the CLI dispatcher; commands then inspect or modify repositories, launch tools, or emit shell actions. Major branches include repository creation and navigation, shell integration, project-local automation, network utilities, and configuration. The README documents several capabilities whose source was not sampled; those are represented at their documented module paths, while uncertain internal call links are omitted.
Main entry points: main.ts Command dispatcher · shell/index.ts Shell commands · up/index.ts Install dependencies · clone/index.ts Clone repository
Components 30
CLI dispatch
- Command dispatcher
main.ts
Repository workflows
- Create repository
modules/create/index.ts - Clone repository
modules/clone/index.ts - Git CLI
- GitHub CLI/API
- Fuzzy project navigation
modules/cd/index.ts - List projects
modules/projects/index.ts - Branch checkout
modules/checkout/index.ts - Clean merged branches
modules/clean/index.ts - Open repo or PR
modules/open/index.ts
Shell integration
- Shell commands
modules/shell/index.ts - Shell scripts
modules/shell/sh.ts - Fish script
modules/shell/fish.ts
Project automation
- Contextual commands
modules/contextual/index.ts - Discover scripts
modules/contextual/list.ts - Install dependencies
modules/up/index.ts - Node installer
modules/up/node.ts - Python installer
modules/up/python.ts - Ruby installer
modules/up/ruby.ts
Network utilities
- LAN scan and sync
modules/lan/index.ts - Network tools
- IP information
modules/ip/index.ts - ipinfo.io
Configuration and tools
- Config loader
modules/config/index.ts - User config
modules/config/index.ts - Help commands
modules/help/index.ts - Update command
modules/update/index.ts - Debug command
modules/debug/index.ts
Other components
- CLI user
- User shell
Connections 42
- CLI user → Command dispatcher: runs command
- Command dispatcher → Config loader: loads settings
- Config loader → User config: reads and writes
- Command dispatcher → Create repository: dispatches
- Command dispatcher → Clone repository: dispatches
- Command dispatcher → Fuzzy project navigation: dispatches
- Command dispatcher → List projects: dispatches
- Command dispatcher → Branch checkout: dispatches
- Command dispatcher → Clean merged branches: dispatches
- Command dispatcher → Open repo or PR: dispatches
- Command dispatcher → Shell commands: dispatches
- Command dispatcher → Contextual commands: dispatches
- Command dispatcher → Discover scripts: discovers commands
- Command dispatcher → Install dependencies: dispatches
- Command dispatcher → LAN scan and sync: dispatches
- Command dispatcher → IP information: dispatches
- Command dispatcher → Help commands: dispatches
- Command dispatcher → Update command: dispatches
- Command dispatcher → Debug command: dispatches
- Create repository → GitHub CLI/API: creates repository
- Create repository → Clone repository: calls
- Clone repository → Git CLI: runs clone
- Clone repository → User shell: requests directory change
- Fuzzy project navigation → User shell: requests directory change
- List projects → Fuzzy project navigation: uses matching
- Branch checkout → Git CLI: checks out branch
- Clean merged branches → Git CLI: lists and deletes branches
- Open repo or PR → Git CLI: reads remote and branch
- Open repo or PR → GitHub CLI/API: opens repository or PR
- Shell commands → Shell scripts: uses script
- Shell commands → Fish script: uses script
- Shell commands → User shell: installs or sources
- Contextual commands → Discover scripts: discovers scripts
- Contextual commands → User shell: runs project command
- Install dependencies → Node installer: selects installer
- Install dependencies → Python installer: selects installer
- Install dependencies → Ruby installer: selects installer
- Node installer → User shell: runs package manager
- Python installer → User shell: runs package manager
- Ruby installer → User shell: runs package manager
- LAN scan and sync → Network tools: queries network and syncs
- IP information → ipinfo.io: requests IP details