# Memory Palace A hybrid workspace combining Obsidian-style knowledge management with code development. ## 📁 Structure ### Documentation (`/docs`) - **daily/** - Daily notes and journal entries - **projects/** - Project-specific documentation - **concepts/** - Evergreen notes and core concepts - **fleeting/** - Quick captures and temporary notes - **assets/** - Images, diagrams, and attachments - **reference-material/** - Reference docs and external materials ### Code (`/code`) - **bookmarklets/** - Browser bookmarklets and utilities - **junk-drawer/** - Miscellaneous code, scripts, and work-in-progress items - **scratchpad/** - Experimental code organized by language - python/ - javascript/ - typescript/ - **templates/** - Reusable code templates - **utils/** - Build tools and generators (bookmarklet maker, git tools, etc.) ## 🚀 Getting Started **New to this workspace?** See [SETUP.md](SETUP.md) for complete setup instructions on a new computer. ### Creating Notes - Press `Cmd+Shift+P` and type "Foam: Create New Note" to create a linked note - Use `[[wiki-style links]]` to connect notes - Daily notes: "Foam: Open Daily Note" ### Linking Notes - Type `[[` to search and link to other notes - Right-click on a note to see backlinks - Use the graph view to visualize connections ### Writing Code - Navigate to `/code` folders for development - Use `Cmd+Shift+P` → "Code Runner: Run Code" to execute scripts - Bookmarks extension: `Cmd+Alt+K` to toggle bookmarks ## 📚 Key Features ### Documentation Features - **Wiki-style linking** - Connect ideas with `[[links]]` - **Backlinks** - See which notes reference the current note - **Graph visualization** - Visual map of your knowledge - **Daily notes** - Automatic daily note creation ### Code Features - **Multi-language support** - Python, JavaScript, TypeScript - **Quick execution** - Run code snippets instantly - **Code bookmarks** - Mark important code sections - **Todo tracking** - Track TODOs across all files ## 🎯 Useful Commands | Command | Shortcut | Description | | --------------- | ---------- | ------------------------- | | Create New Note | - | Foam: Create New Note | | Open Daily Note | - | Foam: Open Daily Note | | Show Graph | - | Foam: Show Graph | | Run Code | Ctrl+Alt+N | Execute current file | | Toggle Bookmark | Cmd+Alt+K | Mark/unmark code location | | Show Todos | - | Todo Tree: Focus on View | ## 🔍 Search Tips - Use `Cmd+P` for quick file navigation - `Cmd+Shift+F` for workspace-wide search - Todo Tree automatically finds TODO, FIXME, NOTE, IDEA tags ## 📝 Note-Taking Tips 1. Use descriptive filenames (automatically slugified) 2. Start with fleeting notes, refine into concepts 3. Link liberally - connections create value 4. Review backlinks regularly to discover patterns ## 💡 Bookmarklet Development 1. Write bookmarklets as regular JavaScript in `/code/bookmarklets/` 2. Run `npm run bookmarklet -- code/bookmarklets/your-file.js` 3. Generator removes comments, minifies, and copies to clipboard 4. Paste into browser bookmark URL field See [code/bookmarklets/README.md](code/bookmarklets/README.md) for detailed instructions. ## 🔧 Customization Edit `.vscode/settings.json` to customize: - Daily note location and format - Todo tags and highlighting - Code execution behavior - Search exclusions ## 📦 Module System This project uses **ES modules** (import/export), not CommonJS (require): - `package.json` is configured with `"type": "module"` - Use `import` and `export` statements in all JavaScript files - See [code/templates/](code/templates/) for examples ## 🔄 Version Control **Auto-commit enabled via GitDoc:** - Automatically commits changes 1 second after save - Auto-pushes after each commit - Pull on workspace open - View history with Git Graph (`Cmd+Shift+P` → "Git Graph") - Rollback using Timeline (right-click file → "Open Timeline") See [SETUP.md](SETUP.md) for git configuration and rollback instructions. --- _Start exploring by creating your first note or diving into the code folders!_