Skip to content

diaryx-org/diaryx

Repository files navigation

title description author version updated contents audience link_format exclude attachments
Diaryx Monorepo
README/repo for the Diaryx project
adammharris
v1.1.0
2026-01-10 13:50:20 -0500
[AGENTS](/AGENTS.md)
[CONTRIBUTING](/CONTRIBUTING.md)
[LICENSE](/LICENSE.md)
[README](/apps/README.md)
[README](/crates/README.md)
[ROADMAP](/ROADMAP.md)
[Scripts](/scripts/scripts.md)
[test1](/new-entry/new-entry.md)
public
developers
markdown_root
*.lock
[flake.nix](/flake.nix)
[release.toml](/release.toml)
[Cargo.toml](/Cargo.toml)

Diaryx

Diaryx is software for personal writing, designed to embed standardized metadata into markdown files, which leads to a wide range of emergent benefits:

  • No need to keep an index of the files!
  • Better portability + longevity
  • Easily readable by humans (and AI agents)
  • Hierarchal, heritable traits

This repository uses Diaryx for its own documentation. The "root index file" is README.md. In the frontmatter, it has a contents property that includes a list of markdown files considered part of the documentation. Each of these files has a part_of property set to README.md, allowing for bidirectional traversal. Markdown files are considered "leaf" files if they do not have a contents property, or "index" files if they do. A root index file is a file that has a contents property but no part_of property.

All of this logic is defined in the diaryx_core Rust crate, and is used by the diaryx CLI, diaryx_wasm, and apps/tauri. Please refer to the links below for more information on these specific projects.

Codebase organization

  • [crates/diaryx_core](crates/diaryx_core/README.md): Core logic for all Diaryx apps.
  • [crates/diaryx](crates/diaryx/README.md): CLI frontend for Diaryx.
  • [crates/diaryx_apple](crates/diaryx_apple/README.md): Apple bridge crate with UniFFI bindings over diaryx_core.
  • [crates/diaryx_wasm](crates/diaryx_wasm/README.md): WebAssembly bindings for diaryx_core, used in apps/web. [crates/diaryx_sync_server](crates/diaryx_sync_server/README.md): Sync server to allow sync/live editing functionality in Web/Tauri clients.
  • [apps/web](apps/web/README.md): Svelte + TipTap frontend for Diaryx.
  • [apps/tauri](apps/tauri/README.md): Tauri frontend for Diaryx. Uses apps/web as its frontend, but calls the functions through the Tauri backend instead of through WebAssembly, allowing for native filesystem access.
  • [workers/site-proxy](workers/site-proxy/README.md): Cloudflare Worker for serving published static sites with audience-gated access.

Installation

You can try a live demo of the Diaryx web frontend at https://diaryx-org.github.io/diaryx/.

You can also go into GitHub releases and use the Diaryx app as you please, "except for providing any product that competes with the software or any product the licensor or any of its affiliates provides using the software." (See the license).

Roadmap

See the project-level roadmap here.

License

PolyForm Shield 1.0. Read it here.