Skip to content

nihiluis/memoneo

Repository files navigation

Memoneo

Memoneo is a self-hosted notes stack with:

  • a CLI to encrypt and sync markdown notes
  • an Android app for transcribed voice notes
  • backend services for auth and note APIs

Project structure

Frontend packages

  • Memoneo CLI - local markdown workflow and sync client
  • Memoneo app - Android app for recording and syncing voice notes
  • @memoneo/shared - shared frontend package used by the app and CLI

Backend services

Demo

Recording a voice message and uploading it to the Memoneo server:

demo_app.webm.mov

Syncing the text note to your computer via the CLI:

demo_cli.webm.mov

Releases

Memoneo uses Changesets for package-based releases.

  1. From the repo root, run pnpm changeset.
  2. Select the packages that should be released and choose the version bump.
  3. Merge the changeset into main.
  4. GitHub updates the Version packages PR.
  5. Merging that PR creates tags like api@v0.1.0 and publishes the release artifacts.

Releaseable packages:

  • @memoneo/api
  • @memoneo/auth
  • @memoneo/cli
  • @memoneo/app
  • @memoneo/shared

Published artifacts:

  • api: release tarball and GHCR image
  • auth: release tarball, binary, and GHCR image
  • cli: standalone binaries for Linux, macOS, and Windows
  • app: Android APK
  • shared: packed .tgz package

Recommended checks before merging releaseable work:

cd backend/api
pnpm test
pnpm check

cd ../auth
go test ./...
go build .

cd ../../frontend
pnpm test
pnpm typecheck
pnpm lint
pnpm build:cli
pnpm build:app:android

About

Small cli to sync your markdown notes to a self-hosted backend.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors