README.md
60 lines · 2367 bytes
1# Orgstar
2
3A native macOS editor for org-mode files, with an iOS app for iPhone and iPad.
4
5The files are the source of truth: Orgstar edits them in place and leaves
6every byte you didn't change as it was, so Emacs and sync tools can work on
7the same folder.
8
9Status: macOS v1, design phases 1–6: editing with Emacs, Mac and Doom keys,
10agenda, table formulas, Babel and tangling, export, capture, clocking, board,
11themes and buffers. Owed: the M1 Air gate run and the VoiceOver check. iOS
12(phase 7): the editor, agenda, capture, search, clocking, reminders, export
13and tangling, Simulator builds only so far.
14
15## Build and run
16
17Requires macOS 26 and Xcode 27 (Swift 6.2 tools).
18
19```sh
20scripts/build-app.sh # builds .build/app/Orgstar.app, signed ad hoc
21open .build/app/Orgstar.app
22```
23
24Add a folder with File > Add Folder… (⇧⌘O). ⌘P opens a file by name, ⇧⌘F
25searches, ⇧⌘A shows the agenda. In the editor, TAB on a heading cycles its
26folding and Shift-TAB cycles the whole file. Orgstar opens `.org` files from
27Finder once the app has been launched.
28
29C-c C-v t tangles the file's source blocks into the files their `:tangle`
30header names, as `org-babel-tangle` does.
31
32`org-protocol://capture?template=…&url=…&title=…&body=…` and
33`org-protocol://store-link?url=…&title=…` links work as in Emacs, so browser
34bookmarklets written for org-protocol work unchanged. Shortcuts has a
35"Capture to Orgstar" action that files text with a capture template.
36
37The iOS app (iOS 26) builds for the Simulator:
38
39```sh
40scripts/build-ios-app.sh # builds .build/ios-app/Orgstar.app
41xcrun simctl install booted .build/ios-app/Orgstar.app
42```
43
44On iOS, Orgstar in the share sheet takes a page or text with a template; the
45app opens its capture sheet with it when it's next active. Shortcuts has the
46same "Capture to Orgstar" action as on the Mac.
47
48Settings live in `~/.config/orgstar/config.toml` (Orgstar ▸ Edit Config File),
49with keys in `keymap.toml` and capture templates in `capture.toml` beside it.
50Settings ▸ General ▸ Import from Emacs reads an existing Emacs or Doom
51configuration.
52
53```sh
54swift test # all tests
55ORGSTAR_GATES=1 swift test -c release --filter GateTests # performance gates
56```
57
58`docs/design.md` is the design; `docs/plans/` has one plan per piece of work.
59
60License: 0BSD.