Skip to content

Latest commit

 

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Noura

The open workspace for humans and AI.

Noura is an open-source, local-first desktop workspace where everything is a plugin. Combine notes, tasks, projects, and AI chat in one workspace. Keep your work in ordinary files you can edit, back up, and use without Noura.

Status: Local Alpha Continuous integration License: MIT

Try Noura · Documentation · Contribute

A workspace built from plugins

Notes, tasks, projects, calendar, folders, and AI are first-party plugins. Choose the combination you need for each workspace in Settings.

Start with notes for writing, then add tasks and projects to organize the work around them. Turn plugins on or off without deleting their files. Plugins use shared capabilities to work with your files and contribute commands or AI context.

Work in one workspace

Write project notes, track tasks, and give your AI assistant context from the same workspace:

  • Notes: write and edit Markdown
  • Tasks and projects: track priorities, due dates, and progress on project boards
  • Calendar: view scheduled work by month, week, or day
  • Search: find content across your workspace with full-text search
  • AI chat: connect your provider, choose workspace context, and approve tool actions
  • External AI tools: read and update notes and tasks through Model Context Protocol (MCP)

Keep control of your work

Use Noura alongside your existing tools:

  • Open files: keep notes, tasks, projects, and chat history as Markdown with structured metadata
  • Local use: read and edit your workspace offline, without a Noura account or hosted service
  • External editing: edit, move, and rename files with other tools; review conflicts when changes overlap
  • AI permissions: choose your provider and authorize sending workspace content before an in-app AI request
  • Credentials: Noura stores provider credentials in your operating system’s credential store

Try Noura

Run the desktop app from source. Install these prerequisites:

git clone https://github.com/lobbystack/noura.git
cd noura
bun install
bun run tauri dev

Create a workspace, add a note, and open the note’s Markdown file in your editor.

Develop Noura

The browser workspace build also requires the Rust Wasm target and the wasm-bindgen CLI version that matches the Rust dependency:

rustup target add wasm32-unknown-unknown
cargo install wasm-bindgen-cli --version 0.2.127 --locked

Run the development checks from the repository root:

bun run check
bun run test
bun run build
bun run format:check

Follow the desktop verification guide for the full checks and workspace workflows.

To work on the marketing website, start its development server:

bun run dev:website

Open http://127.0.0.1:5174 in your browser.

How Noura stores your workspace

Your workspace is a folder with a manifest at .noura/workspace.yaml. Notes, tasks, projects, and chats use Markdown with structured metadata in frontmatter. You can move or rename a file without changing its stable identifier.

Noura commits workspace files to disk before reporting a successful change. You can rebuild its SQLite search index and metadata cache from those files. The desktop app and MCP server use the same Rust services:

flowchart LR
    desktop["Noura desktop"] --> core["Local core"]
    tools["MCP tools"] --> core
    core <--> files["Workspace files"]
    core --> index["Rebuildable SQLite index"]
Loading

Read the workspace format for file layouts and the local-core architecture for write and recovery behavior.

Repository structure

Start with the directory for the part you want to work on:

Directory Purpose
apps/app SvelteKit and Svelte 5 interface for the desktop app, account pages, share viewer, and experimental browser workspace
apps/website Marketing website
apps/server Experimental sync service that hosts the browser build of apps/app
packages Typed workspace client, shared types, editor, AI runtime, and plugin contracts
crates/local-core Rust file operations, validation, indexing, watching, and credentials
crates/mcp-server MCP adapter over local-core services
plugins First-party workspace modules
src-tauri Tauri 2 desktop shell and native bridge

Documentation

Start with the documentation guide, or use these references for implementation details:

Contributing

Read the contributor conventions before changing code. Keep pull requests focused, include tests for behavior changes, and run the development checks.

For workspace-format changes, update the shared conformance fixtures so Rust and TypeScript accept the same files.

Support and security

Use GitHub issues for questions, bug reports, and feature requests. Follow the security policy to report a vulnerability.

License

Noura uses the MIT license. See third-party notices for dependency attributions.

About

The open workspace for humans and AI. Local-first notes, tasks, and projects in ordinary files, with optional end-to-end encrypted sync.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages