NoCloudMD - Vault Edition Help
Open the app

NoCloudMD - Vault Edition: help

A Markdown editor that runs entirely in your browser and keeps your notes in a GitLab or GitHub repository. There is no server of its own: the app talks directly to the repository, every save is a Git commit with your message, and Git keeps every version.

1. Getting started

Connect a repository

  1. Click Connect repository (top right).
  2. Choose the provider: GitLab (gitlab.com or your own server, typing its https:// address) or GitHub.
  3. Enter the project (group/project or owner/repository; pasting the project URL also works), the branch (the branch picker lists the existing ones) and, optionally, a vault folder such as docs/notes: only files inside it are shown and created.
  4. Paste an access token and click Test connection. It checks the token, the project, the branch and the permission to push. Then click Save and open.
ProviderTokenPermission
GitLabProject Access Token (or Personal Access Token)Scope api, role Developer or higher
GitHubFine-grained personal access token limited to the repositoryContents: Read and write

Give the token an expiry date. User name and password are not supported by the GitLab and GitHub APIs.

Protect the token with a local password

Tick Protect the token with a local password: the token is stored encrypted (AES-GCM) and the password is asked each time the vault opens. A forgotten password cannot be recovered: forget the connection and enter the token again.

Several connections

You can save several connections and open one at a time from the same dialog (Use, Edit, Forget). Forgetting removes the connection and its token from this browser; nothing is deleted from the repository. Commits always go to the branch of the connection; the app never creates or switches branches.

The light/dark theme button is next to the connection button. The File menu appears when a document is open.

2. The vault and its files

The sidebar shows the files of the vault. Click a document to open it; folders expand and collapse. The buttons at the top of the sidebar are: new file, new folder, import, search, coding agents, graph and refresh.

  • Filter by name: the field above the tree (Ctrl+O). To search inside the notes, use the search (Ctrl+Shift+F).
  • New file: choose a template (or a blank document) and the path; .md is added when there is no extension. The file is created in the repository on the first save.
  • New folder: created with a commit and a hidden .gitkeep file, because Git does not keep empty folders.
  • Actions on each file (shown when you point at it): move to another folder, version history, where is this used, rename or move and delete. Folders have new file here, hand a task to a coding agent and, when empty, delete.
  • Drag and drop a file onto a folder to move it there.
  • Every change to the repository (create, rename, move, delete) asks for a commit message and is committed right away.
  • Renaming or moving a note can update the links that point to it, in the same commit.
  • Images, PDF, audio and video open in a new tab; other non-text files are downloaded, never opened inside the app.
  • Refresh reloads the file list and updates open files that changed in the repository.
  • Unsaved files show a dot in the tree and an asterisk in the header.

3. Editing and saving

Preview and Edit

Use the Preview / Edit switch in the header. The editor toolbar has bold, italic, strikethrough, headings, lists, quote, indent, code, links (Ctrl+K), tables, Mermaid diagrams, find and replace (Ctrl+F), undo and redo, properties, templates and attachments.

  • Tables: choose columns and rows, plus an optional title (bold, before the table) and caption (italics, after it).
  • Mermaid: diagrams in ```mermaid blocks or in .mmd files are drawn in the preview, with zoom and pan.
  • Typing [[ suggests files of the vault; typing # and a letter suggests existing tags.

BPMN process diagrams

  • Files ending in .bpmn (BPMN 2.0) are drawn in the preview, with zoom and pan.
  • In Edit mode they open in a visual modeler: add elements from the palette on the left, connect and change them with the menu next to each element, double-click to rename. Ctrl+Z / Ctrl+Y undo and redo. The Diagram / XML switch shows the source; invalid XML is reported and kept for you to fix.
  • Every change is an unsaved change of the file, saved with a commit like any other file. A new file named name.bpmn starts with a start event.
  • Embed a diagram in a note with ![Caption](process.bpmn). PDF and Word exports include the diagram as an image; File → BPMN (.bpmn) downloads the file.

Save with a commit

Ctrl+S (or File → Save to repository…) opens the commit dialog: choose the changed files, write the message (required) and, optionally, a description. All selected files go in one commit to the branch.

Conflicts

If a file changed in the repository after you opened it, the app shows both versions and lets you use the repository version, keep yours as a new file, or overwrite with yours (with a new commit).

Safety nets

  • Recovery: unsaved edits are copied to the browser every few seconds; if it closes unexpectedly, the app offers to recover them when you reopen the vault.
  • Closing a file or the tab with unsaved changes asks for confirmation.
  • If the token expires or is revoked, a dialog asks for a new one without closing your files.

5. Attachments

  • Add files of any type up to 50 MB with the Attach button, by dropping them on the window, or by pasting an image.
  • The Attach dialog accepts an optional title (bold, before the link) and caption (italics, after it).
  • Files go to attachments/ in the vault, in one commit with your message, with a progress bar. When a name exists, keep both (-2 suffix) or replace the old file.
  • In the preview, images are shown inline; audio and video show a player and download only when you press play; other files appear as a chip.
  • Where is this used (tree action) lists the notes that link to a file. Deleting a linked file warns about the links that will break.

6. Properties

A YAML block on the first line of a note, between --- lines, is shown as a properties table, with lists as chips:

---
title: Weekly plan
tags: [work, q4]
status: draft
---
  • The Properties toolbar button adds an empty block when the note has none.
  • Invalid YAML shows a warning with the raw block; the rest of the note is shown normally.
  • Clicking a value searches for notes with the same value (status:draft). [[wikilinks]] in values count as links.

7. Tags

  • Write #tag in the text (nested: #project/infra) or tags: [a, b] in the properties. #123, C#, code and links are not tags. Case does not matter.
  • Tags are chips in the preview: clicking one searches the notes with it.
  • The Tags panel under the tree lists every tag with its number of notes (a parent tag counts its children). Click a tag to show only its files in the tree; the “tag: …” chip clears the filter. Click the panel title to collapse it.
  • The graph can color notes by tag, and its filter accepts tag:name.

9. Backlinks and graph

  • Backlinks: below the preview, the notes that link to the current one, with the line of each link. Click to open.
  • Graph (sidebar button): notes, diagrams, attachments and missing notes, with arrows for links. Show the whole vault or the current file with 1 or 2 levels of neighbours, filter by name, folder or tag:, hide attachments, missing files or orphans, and color by folder or tag. Click a node to open it.

10. Templates and import

  • Templates are Markdown files in the .templates/ folder of the vault (shown last in the tree as “Templates”). A new document copies the chosen template as it is.
  • The Template toolbar button inserts a template at the cursor; File → Save as template… saves the current text as a template, with a commit.
  • Import (sidebar button): choose .md files and mark each one as a document (vault root) or a template (.templates/). All go in one commit.

11. Version history

Open it from File → Version history… or with the clock action on a file in the tree. It lists every commit that changed the file, newest first.

  • Preview any version, or compare two versions (or a version and the current text) line by line.
  • Restore with a commit… creates a new commit with the old content; history is never rewritten.
  • Open in editor loads a version as unsaved changes, to adjust it before saving.

12. Download a copy

File → Markdown, PDF or Word downloads the open document. Vault images, tables and diagrams are included in PDF and Word. Downloading does not change the repository.

13. Working offline

Off by default. Turn it on per connection with Keep this vault available offline (edit the connection). The notes and the file list are copied to this browser; attachments are not.

  • Without a connection you keep reading and editing. Saving still asks for the commit message, but the commit waits in a queue: the file shows a “pending” badge and a bar shows how many changes are waiting.
  • When the connection returns (or with Sync now) the queue is committed in order, one commit per save, with your messages. A newer version in the repository opens the conflict screen.
  • A change that keeps failing can be discarded after its files are downloaded.
  • History and connection tests need the connection. Files that were not copied appear faded.
  • With a local password, the copies and the queue are encrypted.
  • Forgetting a connection warns about changes that were never committed.

14. AI assistant

Off by default. Click AI in the header (or Ctrl+J), read the notice and turn it on. Then add a profile: provider (Anthropic, Google Gemini, Mistral or Ollama), API key, model (Load models lists them) and, for Claude, the effort. Test checks the profile.

  • Summarize the open note, Improve selection (shows a diff; Replace selection applies it), Continue writing at the cursor, From template… (a new unsaved document from a template and your instruction) and Ask the vault (answers cite notes as clickable [[links]]).
  • Before sending, the panel lists the notes that go as context; remove any you do not want to send. The panel also shows where the request goes.
  • Answers stream, can be stopped, and show the tokens used (and the cost for Claude). The assistant never commits: its text becomes unsaved changes for you to review and save.
  • Keys stay only in this browser. Use keys with a spending limit and protect them with a local password. Forget AI settings removes everything.
  • Ollama runs on your computer and nothing leaves it, but it must accept requests from the page: start it with the OLLAMA_ORIGINS variable set to the app address (or * when you open index.html from disk, only on a computer you trust).

15. Coding agents (Claude Code, Antigravity)

These agents run on your computer, on a clone of the repository: they edit notes, commit and push. Open Coding agents with the terminal button in the sidebar (or the action on a folder, or from the AI panel).

  1. Create or update the agent guide: adds AGENTS.md (the conventions of this vault) and CLAUDE.md, with a commit.
  2. Hand a task: type the task and the files involved, then copy the clone command (first time) and the command for Claude Code (bash or PowerShell) or the request to paste in Antigravity.
  3. When the agent has pushed, click Refresh from repository.

The app runs nothing and sends nothing to the agents; your token never appears in the commands.

16. Keyboard shortcuts

Ctrl+SSave to the repository (commit dialog)
Ctrl+OFilter files by name
Ctrl+Shift+FSearch the text of the notes
Ctrl+JOpen or close the AI assistant
Ctrl+FFind and replace
Ctrl+Z / Ctrl+YUndo / redo
Ctrl+B / Ctrl+IBold / italic
Ctrl+KInsert link
Tab / Shift+TabIndent / outdent the selected lines

On a Mac, use Cmd instead of Ctrl.

17. Privacy and security

  • Your notes live in your repository. The app has no server: it talks only to GitLab or GitHub (and, if you turn it on, to the AI provider you chose).
  • Tokens and AI keys are stored only in this browser, encrypted when you set a local password, and sent only in request headers.
  • The browser keeps unsaved edits (recovery) and, if you turn on offline work, copies of the notes and the queue of commits.
  • External images, videos and frames are blocked; only https:// links are followed.

18. Problems and limits

  • “The access token was rejected”: the token expired or lacks permission; enter a new one in the dialog.
  • “The repository changed”: someone else committed the same file; choose a version in the conflict screen.
  • Ollama cannot be reached: check that it is running and that OLLAMA_ORIGINS allows this page; the browser may ask permission to access local network devices.
  • GitLab does not report file sizes in the list, so attachment sizes appear after the file is loaded or uploaded.
  • The link index, tags and graph reflect what is saved in the repository; unsaved edits count once they are committed (the search already includes them).