# Packaged Everforest Theme for Textual

This repo provides the Everforest palette as a set of ready-to-register
Textual themes (dark and light, hard/medium/soft).

## Install

```bash
uv add textual-everforest
```

## Usage

```python
from textual.app import App
from textual_everforest.themes import register_everforest_themes


class MyApp(App):
    def on_mount(self) -> None:
        register_everforest_themes(self)
        self.theme = "everforest-dark-hard"
```

## CLI config (no code injection)

This package does not modify your project code. Instead, it can write a small
config file that your app can opt into.

Create config in the project root:

```bash
uv run textual-everforest --set-default dark
```

This writes `textual-everforest.toml`:

```toml
[theme]
default = "everforest-dark-hard"
```

In your app, read and apply it (opt-in):

```python
from pathlib import Path

from textual.app import App

from pathlib import Path

from textual_everforest import apply_theme_from_config
from textual_everforest.themes import register_everforest_themes


class MyApp(App):
    def on_mount(self) -> None:
        register_everforest_themes(self)
        apply_theme_from_config(self, Path.cwd() / "textual-everforest.toml")
```

## Demo

```bash
uv run python -m textual_everforest.color_demo_tui_app
```

## Tests

```bash
uv run pytest
```

## Build and publish

```bash
uv build
uv publish
```
