Developer tools in a CLI
Project description
shiba-dev-tools
Developer tools in a CLI.
Features
- Configuration Management: JSON-based config system with atomic writes, file locking, and global storage
- GitHub Integration: Manage pull requests and comments from the command line
- Notebook Management: Organize and manage development notes with category-based organization
- Cross-Platform: Works on Windows, macOS, and Linux with platform-aware directory handling
- Type-Safe: Fully typed with pyright for better IDE support
- Global Data Storage: Configs and notebooks stored globally (
~/.sdt/) for multi-project use
Installation
From PyPI (Recommended)
pip install shiba-dev-tools
From Source (Development)
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone and install
git clone https://github.com/leeaaron629/shiba-dev-tools.git
cd shiba-dev-tools
make install
Usage
After installation, the sdt command will be available. All data is stored globally in:
- macOS/Linux:
~/.sdt/ - Windows:
%LOCALAPPDATA%/sdt/ - Custom location: Set
SDT_HOMEenvironment variable
# View all commands
sdt --help
# Configuration management (stored in ~/.sdt/configs/)
sdt cfg create
sdt cfg set github.token ghp_xxxxx
sdt cfg set settings.timeout 60
sdt cfg get settings.timeout
sdt cfg edit # Open config in $EDITOR
# GitHub integration
sdt gh prs # List open PRs for default user
sdt gh prs --user octocat # List PRs for specific user
sdt gh prs --id 123 # Show PR comments (JSON format)
sdt gh prs -i 123 --format rich # Show PR with colorful formatting
sdt gh prs --id 123 --format plain # Plain text format
# Notebook management (stored in ~/.sdt/notebooks/)
sdt nb # List categories
sdt nb work # List notes in "work" category
sdt nb work standup --write "..." # Write a note
sdt nb work standup # Read a note
sdt nb work standup --edit # Edit in $EDITOR
sdt nb work --delete # Archive category
Requirements
- Python 3.10+
- uv package manager (for development)
Development
See CONTRIBUTING.md for development setup, testing, and release process.
Quick Start
# Install dependencies
make install
# Run tests with coverage
make test
# Run linting (ruff + pyright)
make lint
# Format code
make format
# Build the package
make build
Code Quality
This project uses:
- ruff for linting and formatting
- pyright for type checking
- pytest for testing with coverage
# Run all checks
make lint
# Auto-format code
make format
Project Structure
shiba-dev-tools/
├── .github/workflows/ # CI/CD workflows
├── dev_tools/ # Main source package
│ ├── main.py # Root CLI app
│ ├── config.py # Configuration management
│ ├── github.py # GitHub integration
│ ├── notebook.py # Notebook management
│ ├── paths.py # Platform-aware path resolution
│ └── ...
├── dev_tools_tests/ # Test package
├── pyproject.toml # Project configuration
├── Makefile # Development commands
└── README.md # This file
Data Storage
All application data is stored in a global directory:
~/.sdt/ # Global SDT directory
├── configs/ # Configuration files
│ └── config.json # Default config
└── notebooks/ # Note storage
├── {category}/ # Note categories
│ └── {slug}.txt # Individual notes
└── .archive/ # Archived categories
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Changelog
See CHANGELOG.md for release history.
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 shiba_dev_tools-0.4.0.tar.gz.
File metadata
- Download URL: shiba_dev_tools-0.4.0.tar.gz
- Upload date:
- Size: 27.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
038cafaef7db1e411b97070b31a71fd5a34832100ffa8d6f124b7cf061570e1e
|
|
| MD5 |
ab2a820f7557a93bda4d713193e082c2
|
|
| BLAKE2b-256 |
b1faaacf561bf9d803a7769f1b0c62e0bd643aea58eaf731d495dcf642c344b5
|
Provenance
The following attestation bundles were made for shiba_dev_tools-0.4.0.tar.gz:
Publisher:
publish.yml on leeaaron629/shiba-dev-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shiba_dev_tools-0.4.0.tar.gz -
Subject digest:
038cafaef7db1e411b97070b31a71fd5a34832100ffa8d6f124b7cf061570e1e - Sigstore transparency entry: 789099108
- Sigstore integration time:
-
Permalink:
leeaaron629/shiba-dev-tools@8b157ada429a3642b7e2866804d26dd4fd582a09 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/leeaaron629
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8b157ada429a3642b7e2866804d26dd4fd582a09 -
Trigger Event:
push
-
Statement type:
File details
Details for the file shiba_dev_tools-0.4.0-py3-none-any.whl.
File metadata
- Download URL: shiba_dev_tools-0.4.0-py3-none-any.whl
- Upload date:
- Size: 31.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa59fb1d43f8d3283000737a65cee638564a3c6b3aa066ea1b6c101d3b995b58
|
|
| MD5 |
867db366bb37d759b50fcbcd1a89e6a6
|
|
| BLAKE2b-256 |
d3b15362dc4f8c882f6c3194440ba53a9b87b5d6986d1f4e97e3d24d39f72dbe
|
Provenance
The following attestation bundles were made for shiba_dev_tools-0.4.0-py3-none-any.whl:
Publisher:
publish.yml on leeaaron629/shiba-dev-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shiba_dev_tools-0.4.0-py3-none-any.whl -
Subject digest:
fa59fb1d43f8d3283000737a65cee638564a3c6b3aa066ea1b6c101d3b995b58 - Sigstore transparency entry: 789099110
- Sigstore integration time:
-
Permalink:
leeaaron629/shiba-dev-tools@8b157ada429a3642b7e2866804d26dd4fd582a09 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/leeaaron629
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8b157ada429a3642b7e2866804d26dd4fd582a09 -
Trigger Event:
push
-
Statement type: