Skip to content

martin-juul/basiliskcli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Basilisk CLI

Bootstrap Python CLI projects with best practices.

Installation

# Using uv (recommended)
uv pip install basiliskcli

# Using pip
pip install basiliskcli

Usage

Create a new project (interactive)

basiliskcli new my-cli-app --interactive

Create a new project (command line)

basiliskcli new my-cli-app \
    --description "My awesome CLI app" \
    --author "Your Name" \
    --email "your.email@example.com" \
    --python-version 3.10

Quick start

# Create project with defaults
basiliskcli new my-cli-app

# Navigate to the project
cd my-cli-app

# Run the CLI
make run-help

What's included

The generated project includes:

  • Modern packaging with pyproject.toml and hatchling
  • CLI framework - Typer (default) or argparse
  • Testing - pytest with coverage support
  • Linting - ruff for fast linting and formatting
  • Type checking - mypy with strict mode
  • Makefile - Common development tasks

Project structure

my-cli-app/
├── src/
│   └── my_cli_app/
│       ├── __init__.py
│       └── cli.py
├── tests/
│   ├── __init__.py
│   ├── conftest.py
│   ├── unit/
│   │   ├── __init__.py
│   │   └── test_cli.py
│   └── integration/
│       ├── __init__.py
│       └── test_integration.py
├── pyproject.toml
├── Makefile
├── README.md
├── LICENSE
└── .gitignore

Development commands

make init        # Initialize development environment
make test        # Run tests
make test-cov    # Run tests with coverage
make lint        # Run linter
make fmt         # Format code
make typecheck   # Run type checker
make check       # Run all checks
make build       # Build package

License

MIT License - see LICENSE for details.

Packages

 
 
 

Contributors