Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevKit — Developer Productivity Toolkit

PyPI version Python versions License: MIT CI

DevKit is a fast, beautiful CLI toolkit that automates common developer tasks. Scaffold projects, organize messy directories, encode/decode data, and inspect git repositories — all from your terminal.


Features

  • Project Scaffolding — Spin up Python, TypeScript, or Go projects from battle-tested templates in one command.
  • File Organizer — Tame cluttered directories by grouping files by type or date with a live preview.
  • Crypto Utilities — Encode, decode, and hash text right in the terminal (base64, URL, hex, MD5, SHA256).
  • Git Statistics — Get a birds-eye view of any repository: commits, contributors, LOC breakdown, and more.

Installation

From source (recommended)

git clone https://github.com/l58243515/devkit.git
cd devkit
pip install -e ".[dev]"

Via pip

pip install devkit

Requirements

  • Python 3.10 or higher
  • Git (for git-stats command)

Usage

After installation, the devkit command is available:

devkit --help

Scaffold a new project

devkit scaffold python my-awesome-app
devkit scaffold typescript my-frontend
devkit scaffold go my-microservice

Each template includes a sensible project layout with config files, source directories, and test stubs.

Organize a directory

# Group files by extension into subdirectories
devkit organize ~/Downloads --by-type

# Group files by modification date (year-month folders)
devkit organize ~/Documents --by-date

# Preview without moving anything
devkit organize ~/Downloads --by-type --dry-run

Encode and decode data

# Base64
devkit crypto encode base64 "Hello, World!"
devkit crypto decode base64 "SGVsbG8sIFdvcmxkIQ=="

# URL encoding
devkit crypto encode url "hello world & more"
devkit crypto decode url "hello%20world%20%26%20more"

# Hex encoding
devkit crypto encode hex "secret"
devkit crypto decode hex "736563726574"

# Hashing
devkit crypto hash md5 "hello"
devkit crypto hash sha256 "hello"

Inspect a git repository

# Current directory
devkit git-stats

# Specific path
devkit git-stats /path/to/repo

Output includes total commits, contributor count, lines of code by language, last commit date, and branch count — all in a beautiful table.


Project Structure

devkit/
├── pyproject.toml
├── README.md
├── LICENSE
├── src/devkit/
│   ├── __init__.py
│   ├── cli.py              # CLI entry point
│   ├── utils.py             # Shared utilities
│   └── commands/
│       ├── scaffold.py      # Project scaffolding
│       ├── organize.py      # File organizer
│       ├── crypto.py        # Crypto utilities
│       └── git_stats.py     # Git repo statistics
└── tests/
    ├── test_cli.py
    ├── test_scaffold.py
    ├── test_organize.py
    ├── test_crypto.py
    └── test_git_stats.py

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feat/my-feature
  3. Write tests for your changes
  4. Ensure all tests pass: pytest
  5. Check coverage: pytest --cov=src/devkit --cov-report=term
  6. Submit a pull request

Development setup

git clone https://github.com/l58243515/devkit.git
cd devkit
pip install -e ".[dev]"
pytest

Code quality

  • Functions should be small (<50 lines)
  • Files should stay focused (<800 lines)
  • No hardcoded secrets or debug prints
  • Tests should achieve 80%+ coverage

License

MIT © l58243515

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages