Metadata-Version: 2.4
Name: jsnake
Version: 0.2.0
Summary: A clean, arcade-style Snake game for the terminal with level-based progression.
Project-URL: Homepage, https://github.com/Jithi/jsnake
Project-URL: Repository, https://github.com/Jithi/jsnake
Project-URL: Issues, https://github.com/Jithi/jsnake/issues
Author-email: Jithi <jithi@example.com>
License-Expression: MIT
License-File: LICENSE
Keywords: arcade,cli,game,snake,terminal,textual,tui
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Games/Entertainment
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: rich<14.0,>=13.7.0
Requires-Dist: textual<1.0,>=0.50.0
Provides-Extra: dev
Requires-Dist: build>=1.0.0; extra == 'dev'
Requires-Dist: mypy>=1.9.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.4.0; extra == 'dev'
Requires-Dist: twine>=5.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# JSNAKE

A clean, arcade-style Snake game for the terminal. Built with Python and Textual, featuring level-based progression and persistent high scores.

## Installation

```bash
pip install jsnake
jsnake
```

Or using [uv](https://docs.astral.sh/uv/) (recommended):

```bash
uv tool install jsnake
jsnake
```

> Using `uv tool install` or `pipx install` ensures the `jsnake` command is always available globally without PATH issues.

Alternative — run without installing:

```bash
uvx jsnake
```

## Controls

| Key | Action |
|-----|--------|
| W / ↑ | Move up |
| A / ← | Move left |
| S / ↓ | Move down |
| D / → | Move right |
| P | Pause / Resume |
| R | Restart |
| Q | Quit |

## Features

- Level-based speed progression (every 50 points)
- Persistent high score (saved to `~/.jsnake/scores.json`)
- Square aspect-ratio grid rendering
- Neon arcade aesthetic

## Development

```bash
# Clone and set up
git clone https://github.com/Jithi/jsnake.git
cd jsnake

# Install with dev dependencies using uv
uv sync --extra dev

# Run locally
uv run jsnake

# Run tests
uv run pytest

# Lint
uv run ruff check src/ tests/

# Type check
uv run mypy src/
```

## Building & Publishing

```bash
uv run python -m build
uv run twine upload dist/*
```

## License

MIT
