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 config create
sdt config set github.token ghp_xxxxx
sdt config set settings.timeout 60
sdt config get settings.timeout
sdt config edit  # Open config in $EDITOR

# GitHub integration
sdt github prs list --user octocat
sdt github prs comments 123

# 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.11+
  • 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.3.0.tar.gz (27.4 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.3.0-py3-none-any.whl (31.4 kB view details)

Uploaded Python 3

File details

Details for the file shiba_dev_tools-0.3.0.tar.gz.

File metadata

  • Download URL: shiba_dev_tools-0.3.0.tar.gz
  • Upload date:
  • Size: 27.4 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.3.0.tar.gz
Algorithm Hash digest
SHA256 c5300da0d2f88808d7e054d2320b753185524d97a3c7d6debae196c049e59f49
MD5 97ab19d8366983485adb9a98cdf83f4a
BLAKE2b-256 42d4465ca48e2bd6081cc992475126fc95851416b0e8cb3f5c6278dd12edc5e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for shiba_dev_tools-0.3.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.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for shiba_dev_tools-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b8db607a262b74b8c88047be2355f02ac732a1feafd12bff4230d8f8ec8bf43b
MD5 ecb87b233a51a0d4af8dc956316f4c97
BLAKE2b-256 9d4f380f40a66b5af896fb051e9fb0d05938ddf627142ae5cb0990d28b01a12d

See more details on using hashes here.

Provenance

The following attestation bundles were made for shiba_dev_tools-0.3.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