Security and help
Contributing
Dayhand is open source under the Apache License 2.0, and contributions are welcome. The rules for a change, signing off your commits, the commit format and the tests each part needs are in CONTRIBUTING.md; this page is a map of the repository and of these docs.
The repository
| Folder | What it is | Start with |
|---|---|---|
backend/ |
the Convex backend: data model, operations, MCP, REST API, webhooks, OAuth | architecture |
cli/ |
dayhand, the command line and dayhand ui |
cli/README.md |
android/ |
the Android app (Kotlin, Compose) | android/README.md |
macos/ |
Dayhand for macOS (Swift, SwiftUI) | macos/README.md |
linux/ |
Dayhand for Linux (Qt 6, QML, C++) | linux/README.md |
packaging/ |
the Arch Linux package and the Homebrew formula template | |
docs/ |
these pages, the JSON schemas of --json and the MCP results, the Agent Skill |
below |
man/ |
the manual pages, generated from the CLI | |
site/ |
dayhand.dev: the landing page and these docs, built with Astro | site/STYLE.md |
scripts/ |
checks and builders for the README and the site |
Test setup and the checks each change needs: backend, CLI.
Writing these docs
Edit the Markdown in docs/; dayhand.dev renders it when the site is built, and nothing generated is
committed. Build and check commands are in CONTRIBUTING.md;
how the site turns the Markdown into pages is in site/STYLE.md.
- Which files become pages, their titles in the menu and their order are in
site/src/docs/pages.ts. A new page goes there. - Link to other pages by their file name (
[webhooks](webhooks.md#events)). Links to any other file in the repository become links to it on GitHub. A link to a missing file stops the build, andscripts/check-site.shreports a link to a missing heading. - For generated command references and the Agent Skill, follow the CLI contribution instructions instead of editing the output.
- Write only what is true in
main. Something that is not released or not built yet is marked as planned or coming soon, with no command for it. Check a command before you document it. - English, short sentences, plain words.
Translations
The apps and dayhand ui speak eight languages. Each part keeps its texts in one place and has a check (a test or lint) that
fails when a text is missing in a language:
- Android:
android/app/src/main/res/values*/strings.xml - macOS:
macos/Sources/DayhandLocalization/Localizable.xcstrings - Linux:
linux/translations/dayhand_<language>.ts dayhand ui:cli/src/i18n/
Corrections from native speakers are welcome.
Releases
Maintainer instructions for CLI publishing and release automation: release.md.
This page is docs/contributing.md in the repository, where
you can suggest a change.