|
1 | | -# Tektite - Tauri + SvelteKit + TypeScript |
| 1 | +# Tektite - Privacy-First Markdown Knowledge Base |
2 | 2 |
|
3 | | -[](https://github.com/lorrehuggan/tektite/actions/workflows/lint.yml) |
| 3 | +[](https://github.com/lorrehuggan/tektite/actions/workflows/lint.yml) |
4 | 4 |
|
5 | | -Modern desktop application built with Tauri, SvelteKit, and TypeScript featuring comprehensive code |
6 | | -quality tooling. |
| 5 | +A privacy-first, local-first Markdown knowledge base for individuals and teams. Designed for speed, |
| 6 | +offline functionality, and large-scale vaults (10,000+ notes). |
7 | 7 |
|
8 | 8 | ## 🚀 Features |
9 | 9 |
|
10 | | -- **Modern Stack**: Tauri v2 + SvelteKit 2 + TypeScript 5 |
11 | | -- **Code Quality**: ESLint 9 + Prettier 3 with automatic formatting |
12 | | -- **Path Aliases**: Clean imports with `@/` shortcuts |
13 | | -- **Tailwind CSS**: Utility-first styling with class sorting |
14 | | -- **Import Organization**: Automatic import sorting and organization |
15 | | -- **VS Code Integration**: Seamless development experience |
| 10 | +### Core Knowledge Management |
| 11 | + |
| 12 | +- **📝 Markdown-First**: Native Markdown editing with live preview |
| 13 | +- **🔗 Bidirectional Links**: Connect ideas with `[[wiki-style]]` links |
| 14 | +- **🔙 Backlinks**: Automatic discovery of reverse connections |
| 15 | +- **📊 Graph View**: Visual network of your knowledge connections |
| 16 | +- **⚡ Lightning Search**: Full-text search across thousands of notes |
| 17 | +- **📁 Large Vaults**: Optimized for 10,000+ notes without performance loss |
| 18 | + |
| 19 | +### Privacy & Control |
| 20 | + |
| 21 | +- **🔒 Privacy-First**: Your data stays on your device |
| 22 | +- **💾 Local-First**: Full offline functionality |
| 23 | +- **🚫 No Cloud Lock-in**: Own your data completely |
| 24 | +- **🔐 Secure**: No telemetry or data collection |
| 25 | + |
| 26 | +### Technical Excellence |
| 27 | + |
| 28 | +- **⚡ Native Performance**: Built with Tauri for desktop-class speed |
| 29 | +- **🎨 Modern UI**: Clean, distraction-free interface |
| 30 | +- **🔧 Extensible**: Plugin architecture for customization |
| 31 | +- **📱 Cross-Platform**: Windows, macOS, and Linux support |
16 | 32 |
|
17 | 33 | ## 🛠️ Development Setup |
18 | 34 |
|
@@ -53,27 +69,62 @@ bun run check # TypeScript type checking |
53 | 69 | bun run check:watch # Watch mode type checking |
54 | 70 | ``` |
55 | 71 |
|
| 72 | +## 🏗️ Architecture |
| 73 | + |
| 74 | +Built with modern technologies for performance and maintainability: |
| 75 | + |
| 76 | +- **Frontend**: SvelteKit 2 + TypeScript 5 + Tailwind CSS |
| 77 | +- **Backend**: Tauri v2 + Rust (native performance) |
| 78 | +- **Storage**: Local file system with efficient indexing |
| 79 | +- **Search**: Full-text search engine optimized for large datasets |
| 80 | +- **Rendering**: Native Markdown parsing with syntax highlighting |
| 81 | + |
56 | 82 | ## 📁 Project Structure |
57 | 83 |
|
58 | 84 | ``` |
59 | 85 | tektite/ |
60 | 86 | ├── src/ |
61 | 87 | │ ├── app/ # Application code with aliases |
62 | | -│ │ ├── components/ # @/components |
63 | | -│ │ ├── features/ # @/features |
64 | | -│ │ ├── lib/ # @/lib |
65 | | -│ │ ├── styles/ # @/styles (includes Tailwind) |
66 | | -│ │ └── utils/ # @/utils |
| 88 | +│ │ ├── components/ # @/components - Reusable UI components |
| 89 | +│ │ ├── features/ # @/features - Feature-specific modules |
| 90 | +│ │ │ ├── editor/ # Markdown editor functionality |
| 91 | +│ │ │ ├── search/ # Full-text search engine |
| 92 | +│ │ │ ├── graph/ # Graph view and link analysis |
| 93 | +│ │ │ └── vault/ # Vault management and file operations |
| 94 | +│ │ ├── lib/ # @/lib - Shared utilities and stores |
| 95 | +│ │ ├── styles/ # @/styles - Tailwind CSS styles |
| 96 | +│ │ └── utils/ # @/utils - Helper functions |
67 | 97 | │ ├── routes/ # SvelteKit routes |
68 | 98 | │ └── app.html # Main HTML template |
69 | 99 | ├── src-tauri/ # Rust backend code |
| 100 | +│ ├── src/ # Tauri application logic |
| 101 | +│ │ ├── commands/ # Tauri commands (file operations, search) |
| 102 | +│ │ ├── search/ # Search engine implementation |
| 103 | +│ │ └── vault/ # Vault management |
| 104 | +│ └── Cargo.toml # Rust dependencies |
70 | 105 | ├── .vscode/ # VS Code settings |
71 | 106 | ├── eslint.config.js # Modern ESLint configuration |
72 | 107 | ├── prettier.config.js # Prettier with plugins |
73 | 108 | └── PATH_ALIASES.md # Path alias documentation |
74 | 109 | ``` |
75 | 110 |
|
76 | | -## 🎨 Code Style |
| 111 | +## 🎯 Use Cases |
| 112 | + |
| 113 | +### For Individuals |
| 114 | + |
| 115 | +- **Personal Knowledge Base**: Organize thoughts, ideas, and learning |
| 116 | +- **Research Notes**: Connect concepts across different domains |
| 117 | +- **Project Documentation**: Keep project notes and documentation linked |
| 118 | +- **Daily Journaling**: Reflect and connect daily experiences |
| 119 | + |
| 120 | +### For Teams |
| 121 | + |
| 122 | +- **Shared Knowledge**: Collaborative knowledge base with local-first sync |
| 123 | +- **Documentation**: Technical documentation with cross-references |
| 124 | +- **Research Collaboration**: Share insights while maintaining privacy |
| 125 | +- **Meeting Notes**: Connected meeting notes and action items |
| 126 | + |
| 127 | +## 🎨 Code Quality |
77 | 128 |
|
78 | 129 | This project enforces consistent code style through automated tooling: |
79 | 130 |
|
@@ -140,16 +191,56 @@ Available aliases: |
140 | 191 | The project includes VS Code settings for automatic formatting on save, ESLint auto-fixing, and |
141 | 192 | import organization. |
142 | 193 |
|
| 194 | +## 🗺️ Roadmap |
| 195 | + |
| 196 | +### Phase 1: Core Foundation ✅ |
| 197 | + |
| 198 | +- [x] Basic Markdown editing |
| 199 | +- [x] File system operations |
| 200 | +- [x] Project structure and tooling |
| 201 | + |
| 202 | +### Phase 2: Knowledge Features 🚧 |
| 203 | + |
| 204 | +- [ ] Bidirectional linking with `[[]]` syntax |
| 205 | +- [ ] Backlinks panel |
| 206 | +- [ ] Full-text search engine |
| 207 | +- [ ] Graph view visualization |
| 208 | + |
| 209 | +### Phase 3: Advanced Features 📋 |
| 210 | + |
| 211 | +- [ ] Plugin system |
| 212 | +- [ ] Themes and customization |
| 213 | +- [ ] Export and import |
| 214 | +- [ ] Mobile companion app |
| 215 | + |
| 216 | +### Phase 4: Collaboration 🔮 |
| 217 | + |
| 218 | +- [ ] Local-first sync |
| 219 | +- [ ] Team sharing |
| 220 | +- [ ] Conflict resolution |
| 221 | +- [ ] Access controls |
| 222 | + |
143 | 223 | ## 📖 Documentation |
144 | 224 |
|
145 | 225 | - [`.githooks/pre-commit.example`](.githooks/pre-commit.example) - Git pre-commit hook setup |
| 226 | +- [API Documentation](docs/api.md) - Tauri command API reference |
| 227 | +- [Plugin Development](docs/plugins.md) - Guide for creating plugins |
| 228 | +- [Architecture Overview](docs/architecture.md) - Technical architecture details |
146 | 229 |
|
147 | 230 | ## 🤝 Contributing |
148 | 231 |
|
| 232 | +We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details. |
| 233 | + |
| 234 | +### Quick Start for Contributors |
| 235 | + |
149 | 236 | 1. Ensure code passes quality checks: `bun run quality:check` |
150 | 237 | 2. Format and lint before committing: `bun run quality:fix` |
151 | 238 | 3. Consider setting up the pre-commit hook for automatic checks |
152 | 239 |
|
153 | 240 | ## 📄 License |
154 | 241 |
|
155 | | -MIT |
| 242 | +MIT License - see [LICENSE](LICENSE) file for details. |
| 243 | + |
| 244 | +--- |
| 245 | + |
| 246 | +**Tektite**: Where knowledge connects. Privacy-first, local-first, built for scale. |
0 commit comments