louietui 1.0.0

An agentic-first TUI framework with complete ontology for agent discoverability
Documentation
# Contributing to Louie


Thank you for your interest in contributing! This document covers the basics.

## Getting Started


```sh
git clone https://github.com/nervosys/Louie.git
cd Louie
cargo test --lib --tests
```

Minimum supported Rust version (MSRV): **1.80**

## Development Workflow


1. Fork the repo and create a feature branch from `master`.
2. Make your changes — keep PRs small and focused.
3. Run all checks locally before pushing:

```sh
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test --lib --tests
cargo doc --no-deps
```

4. Open a pull request against `master`.

## Code Style


- Run `cargo fmt` before committing.
- No `clippy::allow` without a comment explaining why.
- Public items should have doc comments (`/// ...`). The crate uses `#![warn(missing_docs)]`.

## Adding a Widget


1. Create `src/widget/my_widget.rs` implementing `Widget` (or `StatefulWidget`).
2. Implement `Discoverable` with a schema, capabilities, semantic role, and actions.
3. Re-export from `src/widget/mod.rs`.
4. Add render tests in `tests/widget_render.rs`.

## Commit Messages


Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/):

```
feat: add sparkline gradient support
fix: prevent buffer panic on OOB index
docs: add missing doc comments for event module
```

## Reporting Issues


Search existing issues first. When filing a new issue, include:

- Rust / OS version
- Steps to reproduce
- Expected vs actual behaviour

## License


By contributing you agree that your contributions will be licensed under
[AGPL-3.0-or-later](./LICENSE).