Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
149 changes: 0 additions & 149 deletions README.adoc

This file was deleted.

152 changes: 152 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
<!--
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2025-2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
-->

[![MPL-2](https://img.shields.io/badge/License-MPL_2.0-blue.svg)](https://opensource.org/licenses/MPL-2.0) = DocMatrix [![OpenSSF Best Practices](https://img.shields.io/badge/OpenSSF-Best_Practices-green?logo=openssourcesecurity)](https://www.bestpractices.dev/en/projects/new?repo_url=https://github.com/hyperpolymath/formatrix-docs)

[![Palimpsest](https://img.shields.io/badge/Philosophy-Palimpsest-indigo.svg)](https://github.com/hyperpolymath/palimpsest-license)

# License & Philosophy

This project must declare **MPL-2.0-or-later** for platform/tooling
compatibility.

Philosophy: **Palimpsest**. The MPL-2.0 (PMPL) text is provided in
`license/MPL-2.0.txt`, and the canonical source is the
palimpsest-license repository.

Cross-platform document editor with format tabs
(TXT/MD/ADOC/DJOT/ORG/RST/TYP). Gossamer GUI + Ada TUI. Graph
visualization, OCR, TTS/STT, Nickel pipelines.

# Features

- **Format Tabs** - View and edit the same document in multiple markup
formats

- **Unified AST** - Lossless conversion between formats

- **GUI** - Gossamer with ReScript frontend

- **TUI** - Ada with AdaCurses for terminal usage

- **Graph Visualization** - ArangoDB for document relationships

- **Accessibility** - OCR, TTS, STT support

- **Pipelines** - Nickel-based import/export transformations

# Supported Formats

| Format | Description |
|--------|-----------------------|
| TXT | Plain text |
| MD | Markdown (CommonMark) |
| ADOC | AsciiDoc |
| DJOT | Djot markup |
| ORG | Org-mode |
| RST | reStructuredText |
| TYP | Typst |

# Quick Start

```bash
# Check dependencies
just deps

# Build all components
just build

# Run GUI
just run-gui

# Run TUI
just run-tui
```

# Architecture

crates/
├── formatrix-core/ # AST, parsers, renderers
├── formatrix-gui/ # Gossamer commands
├── formatrix-db/ # ArangoDB client
└── formatrix-pipeline/ # Nickel executor

tui/src/ # Ada TUI source
ui/src/ # ReScript components
pipelines/ # Nickel pipeline definitions
container/ # Wolfi container configs

# Development

## Prerequisites

- Rust (stable)

- Deno

- GNAT + gprbuild (for TUI)

- Gossamer + WebKit2GTK (for GUI)

## Build Commands

```bash
just build # Build all
just build-core # Build Rust core only
just build-tui # Build Ada TUI only
just build-ui # Build ReScript UI only
just test # Run all tests
just fmt # Format all code
just lint # Lint all code
```

## Containers

```bash
just container-build # Build Wolfi image
just compose-up # Start with ArangoDB
just container-run-tui # Run TUI in container
```

# RSR Compliance

This project follows the Rhodium Standard Repositories specification:

- **Tier 2** - Full-featured multi-language project

- See <a href="RSR_COMPLIANCE.adoc" class="adoc">RSR_COMPLIANCE</a> for
details

# Related Scripts

Automation scripts from
[hyperpolymath/scripts](https://github.com/hyperpolymath/scripts):

| Script | Purpose |
|----|----|
| `asdfman.sh` | Manage asdf plugins and versions |
| `init_bashrc_three_ply.sh` | Modular bashrc setup (three-layer architecture) |
| `k-check.sh` | Kinoite cluster validation |
| `k-intune.sh` | Kinoite tuning scripts |
| `langstrap.sh` | Mass language install utilities |
| `sysenv.sh` | System environment setup |
| `touchscreen_hunter_killer.sh` | Touchscreen calibration/management |

These scripts follow the same language policy (Bash, Rust, ReScript,
Deno, Gleam, Guile Scheme) and multi-forge mirroring strategy.

# License

MPL-2.0 with Palimpsest philosophy.

# Links

- [Project State](.machine_readable/6a2/STATE.a2ml)

- [Ecosystem Position](.machine_readable/6a2/ECOSYSTEM.a2ml)

- [Architecture Decisions](.machine_readable/6a2/META.a2ml)

- [Palimpsest Philosophy](PALIMPSEST.adoc)
Loading