Skip to main content

Developer tools in a CLI

Project description

shiba-dev-tools

PyPI version Python Versions License CI Status

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_HOME environment 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shiba_dev_tools-0.4.0.tar.gz (27.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shiba_dev_tools-0.4.0-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

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

Hashes for shiba_dev_tools-0.4.0.tar.gz
Algorithm Hash digest
SHA256 038cafaef7db1e411b97070b31a71fd5a34832100ffa8d6f124b7cf061570e1e
MD5 ab2a820f7557a93bda4d713193e082c2
BLAKE2b-256 b1faaacf561bf9d803a7769f1b0c62e0bd643aea58eaf731d495dcf642c344b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for shiba_dev_tools-0.4.0.tar.gz:

Publisher: publish.yml on leeaaron629/shiba-dev-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shiba_dev_tools-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for shiba_dev_tools-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fa59fb1d43f8d3283000737a65cee638564a3c6b3aa066ea1b6c101d3b995b58
MD5 867db366bb37d759b50fcbcd1a89e6a6
BLAKE2b-256 d3b15362dc4f8c882f6c3194440ba53a9b87b5d6986d1f4e97e3d24d39f72dbe

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page