Add your description here
Project description
skillbot
A bot which uses skills to do work.
Tech Stack
| Category | Tool |
|---|---|
| Language | Python >= 3.13 |
| Package Manager | uv |
| Build Backend | Hatchling |
| Linter & Formatter | Ruff |
| Type Checker | mypy (strict mode) |
| Testing | pytest |
| Commit Convention | Commitizen (Conventional Commits) |
| Git Hooks | pre-commit |
| CI/CD | GitHub Actions |
| Package Registry | PyPI |
Local Development
Prerequisites
- Python >= 3.13
- uv
Setup
Clone the repository and install dependencies:
git clone https://github.com/MadaraUchiha-314/skillbot.git
cd skillbot
uv sync --dev
This creates a .venv virtual environment and installs all runtime and dev dependencies.
Installing Pre-commit Hooks
Pre-commit hooks run linting, type checking, unit tests, and commit message validation automatically on every commit. Install them with:
uv run pre-commit install
uv run pre-commit install --hook-type commit-msg
You can also run all hooks manually against the entire codebase:
uv run pre-commit run --all-files
Common Commands
# Run unit tests
uv run pytest
# Run linter
uv run ruff check .
# Auto-fix lint issues
uv run ruff check . --fix
# Format code
uv run ruff format .
# Run type checker
uv run mypy skillbot
# Run all pre-commit hooks
uv run pre-commit run --all-files
Commit Messages
This project follows Conventional Commits. Commit messages are validated by Commitizen via a commit-msg hook. Use the format:
<type>(<optional scope>): <description>
[optional body]
[optional footer]
Examples:
feat: add user authentication
fix(parser): handle empty input gracefully
docs: update README with setup instructions
Project Structure
skillbot/
├── skillbot/ # Package source code
│ ├── __init__.py
│ └── hello.py
├── tests/ # Test suite
│ └── test_hello.py
├── docs/ # Documentation
├── .github/workflows/ # CI/CD pipelines
│ ├── pr.yml # Runs on pull requests
│ └── release.yml # Runs on merge to main
├── pyproject.toml # Project & tool configuration
└── .pre-commit-config.yaml
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
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 skillbot-0.2.0.tar.gz.
File metadata
- Download URL: skillbot-0.2.0.tar.gz
- Upload date:
- Size: 36.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2080b521f5c7dbe84b5a3c628dfb98a9ea52d5b24645c53108eb9219d0ffd338
|
|
| MD5 |
49669c463044b420036be488969581f6
|
|
| BLAKE2b-256 |
c0c8772e31253c99774b7ce700af2235a0f2b775847a3aae363045303a60d85d
|
Provenance
The following attestation bundles were made for skillbot-0.2.0.tar.gz:
Publisher:
release.yml on MadaraUchiha-314/skillbot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
skillbot-0.2.0.tar.gz -
Subject digest:
2080b521f5c7dbe84b5a3c628dfb98a9ea52d5b24645c53108eb9219d0ffd338 - Sigstore transparency entry: 979051684
- Sigstore integration time:
-
Permalink:
MadaraUchiha-314/skillbot@ab627bb2dee59958445d015e0e7188c9d8f9eb43 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MadaraUchiha-314
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ab627bb2dee59958445d015e0e7188c9d8f9eb43 -
Trigger Event:
push
-
Statement type:
File details
Details for the file skillbot-0.2.0-py3-none-any.whl.
File metadata
- Download URL: skillbot-0.2.0-py3-none-any.whl
- Upload date:
- Size: 4.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 |
7f8b931f1e0ce196ea333f72f01d3cc42fb2a552a050c653875b28555c8e470a
|
|
| MD5 |
291e9e12e82cb2c9c2da555ef2b87a70
|
|
| BLAKE2b-256 |
2ac75ab5b6fb4daaec8678962001eb0775cbca34415535bf2819e8042dec8933
|
Provenance
The following attestation bundles were made for skillbot-0.2.0-py3-none-any.whl:
Publisher:
release.yml on MadaraUchiha-314/skillbot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
skillbot-0.2.0-py3-none-any.whl -
Subject digest:
7f8b931f1e0ce196ea333f72f01d3cc42fb2a552a050c653875b28555c8e470a - Sigstore transparency entry: 979051723
- Sigstore integration time:
-
Permalink:
MadaraUchiha-314/skillbot@ab627bb2dee59958445d015e0e7188c9d8f9eb43 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MadaraUchiha-314
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ab627bb2dee59958445d015e0e7188c9d8f9eb43 -
Trigger Event:
push
-
Statement type: