diff --git a/getting-started-vault/.gitignore b/getting-started-vault/.gitignore new file mode 100644 index 00000000..4b8e0699 --- /dev/null +++ b/getting-started-vault/.gitignore @@ -0,0 +1,16 @@ +# Laputa app files (machine-specific, never commit) +.laputa/settings.json + +# macOS +.DS_Store +.AppleDouble +.LSOverride + +# Thumbnails +._* + +# Editors +.vscode/ +.idea/ +*.swp +*.swo diff --git a/getting-started-vault/getting-started.md b/getting-started-vault/getting-started.md new file mode 100644 index 00000000..05d3602b --- /dev/null +++ b/getting-started-vault/getting-started.md @@ -0,0 +1,61 @@ +--- +title: "Getting Started" +type: Note +Related to: + - "[[What is Laputa]]" + - "[[Keyboard Shortcuts]]" + - "[[Laputa Onboarding]]" +--- + +Welcome to your Laputa vault! This note walks you through the key features so you can start building your personal knowledge graph. + +## Editor + +Laputa uses a rich markdown editor. Write in plain markdown with headings, lists, checkboxes, code blocks, and blockquotes. Every note has YAML frontmatter at the top (between `---` delimiters) that stores metadata like type, status, and relationships. + +Wiki-links connect notes together: type `[[` in the editor to search and link to any note in your vault. + +## Types + +Types define the kind of entity a note represents — Note, Project, Person, Topic, Task, or any custom type you create. Each type gets its own icon, color, and sidebar section. To create a new type, add a markdown file with `type: Type` in the frontmatter. + +## Sidebar + +The left sidebar organizes your vault by type. Each type gets its own collapsible section. Special sections include: + +- **Inbox** — notes without a type +- **All Notes** — every note in the vault +- **Archive** — archived notes +- **Trash** — deleted notes (recoverable for 30 days) + +## Properties + +Open the **Inspector** panel (right side) to view and edit a note's properties. Click any value to change it. Use the **+ Add property** button to add custom fields. Properties containing `[[wiki-links]]` become navigable relationships. + +## Relationships + +Connect notes through frontmatter fields like `Belongs to`, `Related to`, and `Has`. These appear as clickable pills in the Inspector. Backlinks are computed automatically — linking A to B makes B show a backlink to A. + +## Views + +Views are saved filters that show a subset of your notes. Create a view to see, for example, all active projects or all tasks belonging to a specific project. Views live in the `views/` folder as YAML files. This vault includes an "Active Projects" view that filters for projects with status Active. + +## Favorites + +Pin frequently used notes to the Favorites section at the top of the sidebar. Toggle a note's favorite status from the Inspector or the command palette. + +## Search + +Press **Cmd+P** to quick-open any note by title. Use the search bar in the sidebar for full-text search across all notes. + +## Command palette + +Press **Cmd+K** to open the command palette. From here you can create notes, switch types, toggle views, and access every action in the app. + +## AI + +Laputa integrates with Claude Code. When Claude Code is running in your vault directory, the status bar shows a green badge. You can use AI to help organize, summarize, and connect your notes. + +## Git sync + +Your vault is a standard git repository. Use the **Changes** view in the sidebar to see modified files, commit changes, and push to a remote. This means your vault works with any git hosting service for backup and sync across devices. diff --git a/getting-started-vault/keyboard-shortcuts.md b/getting-started-vault/keyboard-shortcuts.md new file mode 100644 index 00000000..d2226e6b --- /dev/null +++ b/getting-started-vault/keyboard-shortcuts.md @@ -0,0 +1,37 @@ +--- +title: "Keyboard Shortcuts" +type: Note +Related to: "[[Getting Started]]" +--- + +Essential shortcuts for navigating Laputa. + +## Navigation + +| Shortcut | Action | +|----------|--------| +| **Cmd+P** | Quick-open a note by title | +| **Cmd+K** | Open the command palette | +| **Cmd+N** | Create a new note | +| **Cmd+,** | Open settings | +| **Cmd+\\** | Toggle sidebar | + +## Editor + +| Shortcut | Action | +|----------|--------| +| **Cmd+S** | Save the current note | +| **Cmd+B** | Bold | +| **Cmd+I** | Italic | +| **Cmd+Shift+K** | Insert a code block | +| **Cmd+Shift+8** | Toggle bullet list | +| **Cmd+Shift+7** | Toggle numbered list | + +## Wiki-links + +Type `[[` in the editor to open the link picker. Start typing to search for a note, then press Enter to insert the link. Links are bidirectional — the linked note will show a backlink to the current note. + +## Tips + +- Use **Cmd+K** when you are not sure where to find something — the command palette lists every available action. +- **Cmd+P** is the fastest way to navigate between notes — it searches by title and aliases. diff --git a/getting-started-vault/note.md b/getting-started-vault/note.md new file mode 100644 index 00000000..5937602e --- /dev/null +++ b/getting-started-vault/note.md @@ -0,0 +1,9 @@ +--- +title: "Note" +type: Type +icon: note +color: blue +order: 1 +--- + +A Note is a general-purpose document — research notes, meeting notes, ideas, drafts, or anything that doesn't fit a more specific type. diff --git a/getting-started-vault/person-luca-rossi.md b/getting-started-vault/person-luca-rossi.md new file mode 100644 index 00000000..b9b38a0a --- /dev/null +++ b/getting-started-vault/person-luca-rossi.md @@ -0,0 +1,12 @@ +--- +title: "Luca Rossi" +type: Person +Role: Founder +Website: https://refactoring.fm +Twitter: https://twitter.com/lucaronin +Related to: + - "[[Laputa Onboarding]]" + - "[[Topic: Personal Knowledge Management]]" +--- + +Creator of Laputa and founder of [Refactoring](https://refactoring.fm), a newsletter about engineering leadership and software craft. Luca built Laputa to organize his own knowledge — projects, people, ideas, and goals — in a way that stays grounded in plain files and version control. diff --git a/getting-started-vault/person.md b/getting-started-vault/person.md new file mode 100644 index 00000000..7f1eaa62 --- /dev/null +++ b/getting-started-vault/person.md @@ -0,0 +1,9 @@ +--- +title: "Person" +type: Type +icon: user +color: green +order: 3 +--- + +A Person represents someone you interact with — a colleague, collaborator, mentor, or friend. People can own projects, attend events, and appear in relationships across your vault. diff --git a/getting-started-vault/project-laputa-onboarding.md b/getting-started-vault/project-laputa-onboarding.md new file mode 100644 index 00000000..65d4680b --- /dev/null +++ b/getting-started-vault/project-laputa-onboarding.md @@ -0,0 +1,27 @@ +--- +title: "Laputa Onboarding" +type: Project +Status: Active +Owner: "[[Luca Rossi]]" +Has: + - "[[Task: Explore the Editor]]" + - "[[Task: Create Your First Type]]" + - "[[Task: Set Up Git Sync]]" + - "[[Task: Try the Command Palette]]" + - "[[Task: Create a Custom View]]" +Related to: "[[Topic: Getting Started]]" +--- + +A hands-on project to help you discover Laputa's key features. Work through the tasks below at your own pace — each one introduces a different part of the app. + +## Tasks + +- [ ] [[Task: Explore the Editor]] — Get comfortable with the markdown editor and wiki-links +- [ ] [[Task: Create Your First Type]] — Define a custom type with icon and color +- [ ] [[Task: Set Up Git Sync]] — Connect your vault to a git remote for backup +- [ ] [[Task: Try the Command Palette]] — Discover actions with Cmd+K +- [ ] [[Task: Create a Custom View]] — Build a filtered view of your notes + +## When you are done + +Once you have completed these tasks, you will have a solid understanding of how Laputa works. From here, start creating your own types, notes, and views to build a knowledge graph that fits your workflow. diff --git a/getting-started-vault/project.md b/getting-started-vault/project.md new file mode 100644 index 00000000..70e47154 --- /dev/null +++ b/getting-started-vault/project.md @@ -0,0 +1,9 @@ +--- +title: "Project" +type: Type +icon: rocket-launch +color: purple +order: 4 +--- + +A Project is a time-bounded effort with a clear goal and an eventual completion date. Projects can contain tasks, belong to areas, and link to people and topics. diff --git a/getting-started-vault/task-create-a-custom-view.md b/getting-started-vault/task-create-a-custom-view.md new file mode 100644 index 00000000..04ad3876 --- /dev/null +++ b/getting-started-vault/task-create-a-custom-view.md @@ -0,0 +1,39 @@ +--- +title: "Task: Create a Custom View" +type: Task +Status: Open +Belongs to: "[[Laputa Onboarding]]" +Related to: "[[Laputa Onboarding]]" +--- + +Views are saved filters that show a subset of your notes. This vault includes an example view — "Active Projects" — that shows all projects with status Active. + +## What to try + +1. Open the command palette (Cmd+K) and look for a "New View" action, or create a `.yml` file in the `views/` folder +2. Define filters — for example, show all tasks with status Open +3. Set a name, icon, and color for the view +4. Save — the view appears in the sidebar under Views + +## View format + +Views are YAML files in `views/`. Here is an example: + +```yaml +name: Open Tasks +icon: check-square +color: orange +sort: "modified:desc" +filters: + all: + - field: type + op: equals + value: Task + - field: Status + op: equals + value: Open +``` + +## Tip + +Views update automatically as you add or change notes. They are a powerful way to create dashboards for your projects, areas, or any slice of your vault. diff --git a/getting-started-vault/task-create-your-first-type.md b/getting-started-vault/task-create-your-first-type.md new file mode 100644 index 00000000..bee2bae1 --- /dev/null +++ b/getting-started-vault/task-create-your-first-type.md @@ -0,0 +1,30 @@ +--- +title: "Task: Create Your First Type" +type: Task +Status: Open +Belongs to: "[[Laputa Onboarding]]" +--- + +Types give structure to your vault. Every note has a type — Project, Person, Topic, or any custom type you define. + +## What to try + +1. Create a new markdown file (Cmd+N) +2. In the frontmatter, set `type: Type` +3. Add an `icon:` field — use any [Phosphor icon](https://phosphoricons.com) name in kebab-case (e.g. `book-open`, `lightning`, `house`) +4. Add a `color:` field — available colors: red, purple, blue, green, yellow, orange +5. Give it a title with a `# Heading` and a short description in the body +6. Save the file — your new type appears in the sidebar + +## Example + +```yaml +--- +type: Type +icon: book-open +color: red +order: 6 +--- +``` + +The `order` field controls position in the sidebar (lower = higher). diff --git a/getting-started-vault/task-explore-the-editor.md b/getting-started-vault/task-explore-the-editor.md new file mode 100644 index 00000000..194faaf0 --- /dev/null +++ b/getting-started-vault/task-explore-the-editor.md @@ -0,0 +1,21 @@ +--- +title: "Task: Explore the Editor" +type: Task +Status: Open +Belongs to: "[[Laputa Onboarding]]" +--- + +Get comfortable with Laputa's markdown editor. + +## What to try + +1. **Headings** — Type `#`, `##`, or `###` followed by a space to create headings +2. **Lists** — Use `-` for bullet lists and `1.` for numbered lists +3. **Checkboxes** — Type `- [ ]` for a checkbox, click to toggle it +4. **Formatting** — Try **bold** (Cmd+B), *italic* (Cmd+I), and `inline code` +5. **Wiki-links** — Type `[[` and start typing a note name to insert a link. Try linking to [[Getting Started]] +6. **Code blocks** — Use triple backticks or Cmd+Shift+K + +## Tip + +The editor saves automatically. You can also press **Cmd+S** to save explicitly. diff --git a/getting-started-vault/task-set-up-git-sync.md b/getting-started-vault/task-set-up-git-sync.md new file mode 100644 index 00000000..c51c4229 --- /dev/null +++ b/getting-started-vault/task-set-up-git-sync.md @@ -0,0 +1,27 @@ +--- +title: "Task: Set Up Git Sync" +type: Task +Status: Open +Belongs to: "[[Laputa Onboarding]]" +--- + +Your vault is a git repository. Connecting it to a remote lets you back up your notes and sync across devices. + +## What to try + +1. Create a new repository on GitHub, GitLab, or any git host +2. Open a terminal in your vault directory +3. Add the remote: `git remote add origin ` +4. Push your vault: `git push -u origin main` + +## Using the Changes view + +Laputa has a built-in Changes view in the sidebar that shows modified files. From there you can: + +- See which files have changed since the last commit +- Commit changes with a message +- Push to the remote + +## Tip + +Git sync means you can edit your vault from any device — even a plain text editor on a computer that does not have Laputa installed. The next time you open Laputa, pull the latest changes and everything updates. diff --git a/getting-started-vault/task-try-the-command-palette.md b/getting-started-vault/task-try-the-command-palette.md new file mode 100644 index 00000000..1224dc82 --- /dev/null +++ b/getting-started-vault/task-try-the-command-palette.md @@ -0,0 +1,26 @@ +--- +title: "Task: Try the Command Palette" +type: Task +Status: Open +Belongs to: "[[Laputa Onboarding]]" +--- + +The command palette is the fastest way to do anything in Laputa. + +## What to try + +1. Press **Cmd+K** to open the command palette +2. Type to filter the list of available actions +3. Try these commands: + - **New Note** — create a note + - **Toggle Sidebar** — show or hide the sidebar + - **Open Settings** — jump to app settings +4. Press **Escape** to close the palette + +## Quick open + +**Cmd+P** opens a separate quick-open dialog that searches notes by title and aliases. Use it when you know which note you want to reach. + +## Tip + +If you forget a shortcut, Cmd+K shows it. The command palette lists keyboard shortcuts next to each action. diff --git a/getting-started-vault/task.md b/getting-started-vault/task.md new file mode 100644 index 00000000..f5caad82 --- /dev/null +++ b/getting-started-vault/task.md @@ -0,0 +1,9 @@ +--- +title: "Task" +type: Type +icon: check-square +color: orange +order: 5 +--- + +A Task is a discrete, actionable item that can be completed. Tasks belong to projects and represent the smallest unit of work in your vault. diff --git a/getting-started-vault/topic-getting-started.md b/getting-started-vault/topic-getting-started.md new file mode 100644 index 00000000..ff3e3dcf --- /dev/null +++ b/getting-started-vault/topic-getting-started.md @@ -0,0 +1,10 @@ +--- +title: "Topic: Getting Started" +type: Topic +Related to: + - "[[Getting Started]]" + - "[[What is Laputa]]" + - "[[Keyboard Shortcuts]]" +--- + +This topic groups all notes related to learning Laputa. Start with [[Getting Started]] for a full overview, then explore [[What is Laputa]] for the philosophy behind the app and [[Keyboard Shortcuts]] for quick navigation. diff --git a/getting-started-vault/topic-personal-knowledge-management.md b/getting-started-vault/topic-personal-knowledge-management.md new file mode 100644 index 00000000..e4a13895 --- /dev/null +++ b/getting-started-vault/topic-personal-knowledge-management.md @@ -0,0 +1,16 @@ +--- +title: "Topic: Personal Knowledge Management" +type: Topic +Related to: "[[What is Laputa]]" +--- + +Personal Knowledge Management (PKM) is the practice of collecting, organizing, and connecting the information you encounter — notes, ideas, references, projects, and people — so it becomes a durable personal asset rather than a list of forgotten bookmarks. + +Laputa is designed as a PKM tool. Unlike traditional note-taking apps, it treats your notes as a graph of interconnected entities. Types give structure, wiki-links create connections, and views let you slice through the graph from different angles. + +## Core ideas + +- **Write things down** — Capture ideas, meeting notes, and references as they happen. A note that exists is infinitely more useful than a thought you forgot. +- **Connect everything** — Use `[[wiki-links]]` to link related notes. Over time, these connections reveal patterns you did not plan. +- **Use types** — Give notes a type (Project, Person, Topic) to add structure without rigid hierarchies. +- **Review regularly** — Use views and favorites to surface what matters. A vault that is never revisited is just a graveyard of text files. diff --git a/getting-started-vault/topic.md b/getting-started-vault/topic.md new file mode 100644 index 00000000..acc5c6ff --- /dev/null +++ b/getting-started-vault/topic.md @@ -0,0 +1,9 @@ +--- +title: "Topic" +type: Type +icon: tag +color: yellow +order: 2 +--- + +A Topic is a subject area or interest category. Topics group related notes, projects, and people by theme — use them to organize knowledge across your vault. diff --git a/getting-started-vault/views/active-projects.yml b/getting-started-vault/views/active-projects.yml new file mode 100644 index 00000000..075ced1a --- /dev/null +++ b/getting-started-vault/views/active-projects.yml @@ -0,0 +1,12 @@ +name: Active Projects +icon: rocket-launch +color: purple +sort: "modified:desc" +filters: + all: + - field: type + op: equals + value: Project + - field: Status + op: equals + value: Active diff --git a/getting-started-vault/what-is-laputa.md b/getting-started-vault/what-is-laputa.md new file mode 100644 index 00000000..a1c765fe --- /dev/null +++ b/getting-started-vault/what-is-laputa.md @@ -0,0 +1,25 @@ +--- +title: "What is Laputa" +type: Note +Related to: + - "[[Getting Started]]" + - "[[Topic: Personal Knowledge Management]]" +--- + +Laputa is a local-first knowledge management app built on three principles: + +## Your files, your data + +Every note is a plain markdown file on your filesystem. There is no proprietary database, no cloud lock-in, no import/export ceremony. Your vault is a folder — you can open it in any text editor, back it up however you want, and it will outlive any app. + +## The filesystem is the truth + +Laputa reads your files and derives everything from them. Types, relationships, views, and sidebar sections are all computed from the frontmatter and folder structure. There is no hidden state. If you move a file in Finder, Laputa reflects the change. If you edit a file in VS Code, Laputa picks it up. + +## Git for sync and history + +Your vault is a git repository. Every change is a commit. Sync between devices by pushing and pulling to a remote. Resolve conflicts with standard git tools. Your entire edit history is preserved. + +## How it fits together + +A Laputa vault is a collection of markdown files with YAML frontmatter. The `type` field in the frontmatter determines what kind of entity the note represents. Wiki-links (`[[Note Title]]`) create a web of connections between notes. The app provides a visual interface on top of these files — a rich editor, sidebar navigation, inspector panel, and filtered views — but the files remain the source of truth.