Skip to content

USpiri/nemos

Repository files navigation

✍🏻 Nemos | Minimalist Note-Taking App

Things shop icon
A minimalist, private, and customizable note-taking app.

Β  Β  Β  Β 

Download here

About Nemos Ξ·

Nemos is an intuitive and easy-to-use note-taking application designed to help users focus on capturing and organizing their thoughts without distractions. Most of its features seamlessly integrate into the text, providing a smooth and immersive writing experience.

257shots_so

✨ Key Features

  • Workspaces: Organize your notes into separate workspaces, each with its own directory, file tree, and recent notes view.
  • Tabbed Editing: Open multiple notes at once with keyboard shortcuts, context menus, and tab persistence across sessions.
  • Rich Text Editor (TipTap v3): Headings, paragraphs, bold, italics, quotes, inline code, strikethrough, underline, task lists, and more.
  • Advanced Editor Extensions:
    • Slash Commands: Type / to insert headings, lists, code blocks, math, diagrams, and more.
    • Code Blocks: Language selector, syntax highlighting, and copy button.
    • Diagrams: Integrated Mermaid.js support.
    • Mathematical Notation: Inline and display math with KaTeX.
    • Chemical Notation: Support for SMILES chemical structures.
    • Resizable Images: Drag to resize and align images.
    • Tables: Interactive tables with add row/column buttons.
    • File Upload: Drag-and-drop or paste images directly into the editor.
  • File Tree with Drag & Drop: Hierarchical workspace tree with drag-and-drop for moving notes and folders, context menus, and "Reveal in Explorer".
  • Auto-Save: Notes are saved automatically as you type.
  • In-App Updates: Automatic update checking with download progress tracking.
  • Local-First: No cloud storageβ€”your notes stay on your device.

πŸ–ΌοΈ Screenshoots

484shots_so 884shots_so

πŸ› οΈ Tech Stack

  • Framework: Tauri v2 + React 19 (Vite).
  • Language: TypeScript.
  • Routing: TanStack Router (file-based).
  • Editor: TipTap v3.
  • Database: None! Notes are stored locally as .note files.
  • State Management: Zustand.
  • Styling: Tailwind CSS v4 + shadcn/ui.
  • Linting & Formatting: Biome.

πŸ“‚ Project Structure

src/
β”œβ”€β”€ components/                    # UI Components
|   β”œβ”€β”€ editor/                    # Editor & extensions
|   β”œβ”€β”€ layout/                    # Layout components (sidebar, topbar)
|   β”œβ”€β”€ tabs/                      # Tab bar components
|   β”œβ”€β”€ ui/                        # shadcn/ui components
|   └── workspace-tree/            # Workspace file tree
β”œβ”€β”€ config/                        # Configuration & constants
β”œβ”€β”€ hooks/                         # Domain-specific hooks (CRUD, navigation)
β”œβ”€β”€ lib/                           # Service layer
|   β”œβ”€β”€ app/                       # App initialization
|   β”œβ”€β”€ editor/                    # Editor utilities
|   β”œβ”€β”€ fs/                        # Filesystem abstraction
|   β”œβ”€β”€ notes/                     # Note reading/writing & schemas
|   β”œβ”€β”€ opener/                    # File & URL opener
|   β”œβ”€β”€ tabs/                      # Tab utilities
|   β”œβ”€β”€ updater/                   # In-app updater service
|   └── workspace/                 # Workspace management & tree building
β”œβ”€β”€ routes/                        # TanStack Router file-based routes
β”œβ”€β”€ store/                         # Zustand stores (tabs, dialogs, UI, etc.)
β”œβ”€β”€ types/                         # Type definitions
β”œβ”€β”€ index.css                      # Global styles
└── main.tsx                       # Application entry point

src-tauri/                         # Tauri backend
β”œβ”€β”€ capabilities/                  # App permissions
β”œβ”€β”€ icons/                         # App icon
β”œβ”€β”€ src/                           # Rust code
└── tauri.conf.json                # Tauri configuration

πŸš€ Getting Started

To set up a development environment for Nemos, ensure you have the required Tauri prerequisites installed.

Development Setup

  1. Clone the repository:
    git clone https://github.com/USpiri/nemos.git
  2. Navigate to the project directory:
    cd nemos
  3. Install dependencies:
    pnpm install
  4. Start the Tauri development server:
    pnpm dev

Building the Application

To create a production-ready Tauri build:

pnpm build

πŸ“¦ Releasing

See CONTRIBUTING.md for the full release process.

Quick reference:

pnpm bump <version>       # Update version in all config files
git add .
git commit -m "chore: bump version to <version>"
git tag v<version>
git push origin main --tags

Pushing a v* tag triggers the CI workflow that builds for macOS, Linux, and Windows, then creates a draft GitHub Release.

🀝 Contributing

Contributions are welcome! See CONTRIBUTING.md for details.

Happy note-taking! 😊

About

✍🏻 Nemos | Minimalistic Note-taking app

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages