From 1a29cdc5d336953a24aef52decf8334b4cb89402 Mon Sep 17 00:00:00 2001 From: will wade Date: Sun, 28 Jun 2026 22:00:30 +0100 Subject: [PATCH] docs: add frontend README template + link from CONTRIBUTING MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A standardised README structure for all Dasher- repos, synthesised from the best parts of the existing Apple/Windows/Android/GTK/Web READMEs. The template: - Uses the original Dasher description ('information-efficient text-entry interface, driven by continuous pointing gestures') + a consumer line - Standardises: badges, status blockquote, build steps, architecture diagram, repo layout table, contributing + DCO, license - Includes guidance on what NOT to include (no feature matrix inline — link to dasher.at/status; no v5 'PDAs' boilerplate; no duplicated DasherCore docs) - Not an RFC — it's a documentation convention in the org .github repo CONTRIBUTING.md updated to link to the template. Signed-off-by: will wade --- CONTRIBUTING.md | 2 +- README-TEMPLATE.md | 108 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 README-TEMPLATE.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 02947f0..ebe98d6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -26,7 +26,7 @@ shows what every platform already supports so we keep parity. ## Where to go next -- **Building a specific platform:** see the developer handbook at and the `README.md` / `CONTRIBUTING.md` inside the relevant repo. +- **Building a specific platform:** see the developer handbook at and the `README.md` / `CONTRIBUTING.md` inside the relevant repo. Frontend repos should follow the [README template](./README-TEMPLATE.md). - **Coding standards:** [`DasherCore/CONTRIBUTING.md`](https://github.com/dasher-project/DasherCore/blob/main/CONTRIBUTING.md) is the project's gold standard (no naked `new`/`delete`, `const`-correctness, zero warnings, clean API boundaries). Each frontend repo states its own language-specific rules. - **Design tokens:** the normative source of truth is [`dasher-design-guide/DESIGN.md`](https://github.com/dasher-project/dasher-design-guide/blob/main/DESIGN.md). - **Proposing a cross-platform change:** read the [RFC process](https://github.com/dasher-project/governance#decision-making) in our governance repo. diff --git a/README-TEMPLATE.md b/README-TEMPLATE.md new file mode 100644 index 0000000..2c20ebb --- /dev/null +++ b/README-TEMPLATE.md @@ -0,0 +1,108 @@ +# Dasher Frontend README Template + +Each `Dasher-` repository's `README.md` should follow this structure. +Copy it, replace the `<...>` placeholders, and adapt the platform-specific +sections. Keep it concise — link out to [dasher.at](https://dasher.at) and +[DasherCore](https://github.com/dasher-project/DasherCore) for depth rather +than duplicating their content. + +--- + +```markdown +# Dasher for + +[![Build]()]() [![Release]()]() [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE) + +Dasher is an information-efficient text-entry interface, driven by continuous +pointing gestures. It lets you write using eye gaze, a mouse, a switch, a +joystick, or touch — designed for accessibility and augmentative communication +(AAC). + +This is the **** frontend, built on the shared +[DasherCore](https://github.com/dasher-project/DasherCore) engine. + +> **[dasher.at](https://dasher.at)** — downloads, user docs, and live demo +> **[Feature status](https://dasher.at/status/)** — what each platform supports +> **[All repos](https://github.com/dasher-project)** — engine, frontends, design guide + +## Status + +> **** — . See the +> [feature matrix](https://dasher.at/status/) for what's implemented. + +## Install + + + +## Build + +### Prerequisites + +- +- +- Git (with submodules) + +### Steps + +```bash +git clone --recurse-submodules https://github.com/dasher-project/Dasher-.git +cd Dasher- + +``` + + + + + +## Architecture + + + +``` + +``` + +See [DasherCore's C API](https://github.com/dasher-project/DasherCore/blob/main/docs/C_API.md) +for the engine contract. + +## Repository layout + +| Path | Purpose | +|---|---| +| `/` | | +| `third_party/DasherCore/` | DasherCore submodule (do not edit here — PR upstream) | + +## Contributing + +See [CONTRIBUTING.md](./CONTRIBUTING.md) for build details, code style, and +DCO sign-off. For project-wide conventions (code of conduct, RFCs, security), +see the +[org contributing guide](https://github.com/dasher-project/.github/blob/main/CONTRIBUTING.md). + +## License + +MIT — see [LICENSE](./LICENSE). +``` + +--- + +## Guidance + +- **Opening:** use the two-sentence intro verbatim (do not rewrite it per + repo — consistency helps search and first impressions). +- **Badges:** at minimum a CI badge and a license badge. Add a release/store + badge if the platform has one (TestFlight, Google Play, Flatpak, etc.). +- **Status blockquote:** be honest about maturity. Link to the feature matrix + rather than summarising it inline. +- **Build:** copy-paste blocks that work when pasted into a terminal. Number + multi-phase builds. If a manual step is unavoidable (copy a DLL, set a + PATH), say so explicitly — don't hide it. +- **Architecture:** keep it to one paragraph + one diagram. Link to DasherCore + for the full C API contract. Don't duplicate DasherCore's docs. +- **What NOT to include:** a long "what is Dasher?" explainer (link dasher.at), + the v5 "PDAs" boilerplate, full RFC summaries (link governance), or the + feature matrix table (it lives on the website).