Skip to content

srid/imako

Repository files navigation

imako

いま + ここ

Imako provides journaling and planning based on the principle of infinitude of space & time for your Obsidian (and Emanote) notebook.

Project origin: https://x.com/sridca/status/1896560964088271161

Warning

WIP: This software is bound to undergo radical change, whilst the author experiments with various UXes.

Running

Usage

nix run github:srid/imako -- /path/to/your/notebook

Development

In Nix devShell,

# Start both backend (ghcid) and frontend (Vite) with hot-reload
# NOTE: Uses ~/Dropbox/Vault by default. Override with NOTEBOOK env var.
just dev

Or separately:

just NOTEBOOK=$HOME/mynotes backend-dev   # Backend with ghcid
just frontend-dev                         # Frontend dev server

Open http://localhost:5173 to view the app.

Repository architecture

Imako is written in Haskell with a SolidJS frontend. This repository hosts:

  • packages/ob: Haskell library for working with Obsidian vaults
  • packages/imako: Main Imako backend (API + WebSocket server)
  • frontend/: SolidJS SPA (Vite + Tailwind v4)
  • tests/: Playwright E2E tests with custom DSL

E2E Testing

# Run all tests (process-compose orchestrated)
just e2e

# Or run manually with servers already running:
just dev            # Terminal 1 (starts both servers)
just e2e-run        # Terminal 2

About

WIP: Immaculate journal and planner atop Markdown notes

Resources

License

Stars

Watchers

Forks

Contributors