Skip to main content

max / alloy_tui

2.5 KB · 35 lines History Blame Raw
1 # Contributing to Alloy
2
3 Alloy is currently solo-built by Max Johnson under Make Creative, LLC. External patches are not being accepted yet; this document records the conventions the project follows so the work stays internally consistent.
4
5 ## License
6
7 Alloy is licensed under the GNU General Public License v3.0 or later. See [LICENSE]LICENSE. Code contributed to this repository must be compatible with GPLv3+. Any future code outside this license (vendored dependencies, etc.) must carry compatible terms.
8
9 One crate is deliberately exempt: `crates/alloy_tui` is MIT ([its own LICENSE]crates/alloy_tui/LICENSE), because it is the reusable design system rather than the application. Publishing it permissively lets other terminal UIs adopt Alloy's look without inheriting copyleft, and lets non-GPL siblings link it. Contributions to that crate are MIT; everything else in the repo is GPLv3+.
10
11 ## Project state
12
13 Pre-v0. The docs in [`docs/`]docs/ are the project. Code follows. When a design decision changes, edit the relevant doc and let the commit message carry the rationale — no separate changelog.
14
15 ## Conventions
16
17 These mirror the rest of the `~/Code` ecosystem; deviations should be deliberate.
18
19 - **No emoji.** Anywhere. UI copy, commit messages, docs, comments, file names. The only graphic mark Alloy will adopt is its own.
20 - **No PRs, no issue tracker.** Discussion happens directly. Open questions live in [`docs/todo.md`]docs/todo.md.
21 - **Rust 2024 edition.** Latest stable. Latest deps; don't pin without a reason recorded in the manifest.
22 - **Commits:** concise, imperative, no emoji. One logical change per commit when practical.
23 - **Native builds per architecture.** No cross-compilation.
24
25 ## Code style (when code lands)
26
27 - The ratatui design-system crate is `alloy_tui`. Token constants and themed widgets live there; downstream apps re-export rather than redefine.
28 - Tokens are the source of truth for color and font-family hints. See [`docs/TOKENS.md`]docs/TOKENS.md. No hardcoded colors in widget code — pull from tokens.
29 - Prose surfaces stay in the working monospace. Mono-only is part of the brand. See [`docs/TOKENS.md`]docs/TOKENS.md.
30 - Color is reserved for information. Chrome is tinted-greyscale. See [`docs/DESIGN-LANGUAGE.md`]docs/DESIGN-LANGUAGE.md.
31
32 ## Working notes
33
34 Personal notes, todos, and audit material that aren't part of the public project live outside this repo, under `_private/docs/alloy/` in the author's environment. The `.gitignore` blocks `CLAUDE.md` and `todo.local.md` so those never enter version control.
35