Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
187 changes: 186 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,186 @@
# devkit-cli
# 🛠️ devkit-cli

A powerful CLI toolkit for developers built with Python + Typer + Rich.

## ✨ Features

- 📊 **System Information** - View CPU, memory, disk, and OS info in beautiful tables
- 📁 **Batch File Rename** - Rename files with custom prefix, suffix, and auto-numbering
- ✅ **Task Management** - Local todo list with priorities and status tracking
- 📝 **Logging** - Automatic logging to `~/.devkit/logs/`
- 🎨 **Beautiful Output** - Colorful, formatted console output using Rich

## 📦 Installation

```bash
pip install -e .
```

## 🚀 Quick Start

### View Help

```bash
devkit --help # Main help
devkit info --help # Info command help
devkit file --help # File command help
devkit todo --help # Todo command help
```

## 📖 Commands Reference

### 1. System Information (`info`)

View detailed system information in colorful tables.

```bash
devkit info all # View all system information
devkit info cpu # CPU information only
devkit info memory # Memory information only
devkit info disk # Disk information only
devkit info os # Operating system information only
```

**Example Output:**

```
🖥️ CPU
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Property ┃ Value ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ Processor │ Intel64 Family 6 Model 190 Stepping 0, GenuineIntel │
│ Physical Cores │ 4 │
│ Logical Cores │ 4 │
│ Max Frequency │ 1700.00 MHz │
│ Current Frequency │ 1700.00 MHz │
│ Usage │ 35.9% │
└───────────────────┴─────────────────────────────────────────────────────┘
```

### 2. File Operations (`file`)

Batch rename files with powerful options.

#### List Files

```bash
devkit file list # List files in current directory
devkit file list ./photos # List files in specific directory
devkit file list . --ext .txt # Filter by extension
devkit file list . --pattern "\.py$" # Filter by regex pattern
```

#### Rename Files

```bash
# Add prefix with auto-numbering
devkit file rename ./photos --prefix "vacation_" --start 1

# Add suffix (before extension)
devkit file rename ./docs --suffix "_final"

# Filter by regex pattern and rename
devkit file rename . --pattern "\.txt$" --prefix "doc_"

# Preview changes without executing
devkit file rename . --prefix "test_" --dry-run

# Skip confirmation prompt
devkit file rename . --prefix "file_" --yes
```

**Options:**

| Option | Short | Description |
|--------|-------|-------------|
| `--prefix` | `-p` | Prefix to add to filenames |
| `--suffix` | `-s` | Suffix to add (before extension) |
| `--start` | `-n` | Starting number for auto-numbering (default: 1) |
| `--width` | `-w` | Width of number padding (default: 3, e.g., 001) |
| `--pattern` | `-f` | Regex pattern to filter files |
| `--dry-run` | `-d` | Preview changes without executing |
| `--yes` | `-y` | Skip confirmation prompt |

### 3. Task Management (`todo`)

Manage your tasks locally with priorities.

#### Add Tasks

```bash
devkit todo add "Complete the project documentation"
devkit todo add "Fix critical bug" --priority high
devkit todo add "Update dependencies" --priority medium
devkit todo add "Write unit tests" --priority low
```

#### List Tasks

```bash
devkit todo list # List all tasks
devkit todo list --status pending # Only pending tasks
devkit todo list --status completed # Only completed tasks
devkit todo list --priority high # Filter by priority
```

#### Complete/Uncomplete Tasks

```bash
devkit todo complete 1 # Mark task as completed
devkit todo uncomplete 1 # Mark task as pending
```

#### Edit Tasks

```bash
devkit todo edit 1 --task "New task description"
devkit todo edit 1 --priority high
devkit todo edit 1 --task "New text" --priority low
```

#### Delete Tasks

```bash
devkit todo delete 1 # Delete task (with confirmation)
devkit todo delete 1 --yes # Delete without confirmation
```

#### Clear Tasks

```bash
devkit todo clear --status completed # Clear all completed tasks
devkit todo clear --status all # Clear all tasks
devkit todo clear --status all --yes # Clear all without confirmation
```

**Example Output:**

```
📋 Todo List
┏━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ ID ┃ Status ┃ Priority ┃ Task ┃ Created ┃
┡━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 1 │ ✅ │ HIGH │ Complete the project │ 2026-03-20 13:45 │
│ 2 │ ⬜ │ HIGH │ Fix critical bug │ 2026-03-20 13:45 │
│ 3 │ ⬜ │ MEDIUM │ Update dependencies │ 2026-03-20 13:45 │
│ 4 │ ⬜ │ LOW │ Write unit tests │ 2026-03-20 13:45 │
└──────┴──────────┴──────────┴──────────────────────────────┴──────────────────┘

Progress: 1/4 completed (25%)
```

## 📁 Data Storage

- **Logs**: `~/.devkit/logs/devkit_YYYYMMDD.log`
- **Todos**: `~/.devkit/data/todos.json`

## 📋 Requirements

- Python >= 3.8
- typer >= 0.9.0
- rich >= 13.0.0
- psutil >= 5.9.0

## 📜 License

MIT License
11 changes: 11 additions & 0 deletions devkit_cli.egg-info/PKG-INFO
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Metadata-Version: 2.4
Name: devkit-cli
Version: 1.0.0
Summary: A powerful CLI toolkit for developers
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: typer>=0.9.0
Requires-Dist: rich>=13.0.0
Requires-Dist: psutil>=5.9.0

# devkit-cli
17 changes: 17 additions & 0 deletions devkit_cli.egg-info/SOURCES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
README.md
pyproject.toml
devkit_cli/__init__.py
devkit_cli/main.py
devkit_cli.egg-info/PKG-INFO
devkit_cli.egg-info/SOURCES.txt
devkit_cli.egg-info/dependency_links.txt
devkit_cli.egg-info/entry_points.txt
devkit_cli.egg-info/requires.txt
devkit_cli.egg-info/top_level.txt
devkit_cli/commands/__init__.py
devkit_cli/commands/file.py
devkit_cli/commands/info.py
devkit_cli/commands/todo.py
devkit_cli/utils/__init__.py
devkit_cli/utils/display.py
devkit_cli/utils/logger.py
1 change: 1 addition & 0 deletions devkit_cli.egg-info/dependency_links.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

2 changes: 2 additions & 0 deletions devkit_cli.egg-info/entry_points.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[console_scripts]
devkit = devkit_cli.main:app
3 changes: 3 additions & 0 deletions devkit_cli.egg-info/requires.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
typer>=0.9.0
rich>=13.0.0
psutil>=5.9.0
1 change: 1 addition & 0 deletions devkit_cli.egg-info/top_level.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
devkit_cli
9 changes: 9 additions & 0 deletions devkit_cli/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
"""
devkit-cli - A powerful CLI toolkit for developers

This package provides a set of useful command-line tools for developers,
including system information viewing, batch file renaming, and task management.
"""

__version__ = "1.0.0"
__author__ = "Developer"
Binary file added devkit_cli/__pycache__/__init__.cpython-314.pyc
Binary file not shown.
Binary file added devkit_cli/__pycache__/main.cpython-314.pyc
Binary file not shown.
11 changes: 11 additions & 0 deletions devkit_cli/commands/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
"""
Commands Module

This module contains all CLI subcommands.
"""

from . import info
from . import file
from . import todo

__all__ = ["info", "file", "todo"]
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading