Purpose: Single source of truth for everything that needs to be built.
Audience: New contributors, developers, project managers.
Derived from: Phase 1-3 roadmaps (005-roadmap/) + specifications (002-specifications/).
- New to the project? Start with §A (Guidelines for Everyone), then skim §1-3 to understand scope.
- Developer picking up work? Go directly to the phase you're working on. Each task links to its specification. Code lives at
zarishsphere/zs-note. - Project manager? Use the checklist format to track progress.
| Repository | Purpose | URL |
|---|---|---|
| zarishsphere/zs-note | Source code + Blueprint — Rust backend + Svelte frontend + Python ingestion + full specification docs | github.com/zarishsphere/zs-note |
zs-note/
├── src/ # Svelte 5 frontend (28 files)
│ ├── main.ts # App entry
│ ├── app.css # Global CSS variables
│ └── lib/
│ ├── components/ # 18 Svelte components
│ ├── stores/ # 4 rune stores (.svelte.ts)
│ ├── commands/ # 3 command modules
│ ├── milkdown/ # Editor setup
│ └── types.ts # TypeScript interfaces
├── src-tauri/ # Rust backend (32 files)
│ └── src/
│ ├── commands/ # 9 command handler modules
│ ├── sandbox/ # Wasmtime engine
│ ├── ai/ # 4 AI providers
│ ├── git/ # Git engine
│ ├── mcp/ # MCP client
│ ├── vector/ # Vector store
│ └── config.rs, types.rs, logging.rs
├── ingestion/ # Python ingestion (21 files)
│ └── src/zarishnote_ingest/
│ ├── converters/ # 12 format converters
│ ├── cli.py # CLI entry point
│ └── ...
├── docs/ # Blueprint specifications (39 Markdown files)
│ ├── README.md # Master blueprint document
│ ├── TODO.md # Build task tracker
│ ├── 001-concept/ # Vision, personas, value prop
│ ├── 002-specifications/ # All feature specs (8 groups)
│ ├── 003-architecture/ # System architecture docs
│ ├── 004-security/ # Threat model & sandbox
│ ├── 005-roadmap/ # Phase 1-3 roadmaps
│ ├── 006-assets/ # Hiring docs, brand guidelines
│ └── 007-prototypes/ # .znrc examples, WASM hello-world
├── package.json, Cargo.toml, tauri.conf.json, ...
└── README.md
- No ZarishNote release exists yet. This is a blueprint. The actual app is being built at
zarishsphere/zs-note. - ZarishNote will be a desktop app (Windows, macOS, Linux) during Phase 1. Mobile (iOS, Android) comes in Phase 2.
- All data stays local — no cloud account needed. Your vault is a folder on your machine.
- For AI features, you need either:
- An API key from a provider (OpenAI, Anthropic, Google, DeepSeek) stored in your OS Keychain, OR
- A local AI model via Ollama (free, runs on your machine).
- Keyboard shortcuts are listed in
001-editor-spec.md §6. - If something breaks: file an issue at
zarishsphere/zs-note/issues.
- Blueprint vs. Code: Both live in this repo. Specs are in
docs/, code lives insrc/,src-tauri/, andingestion/. - Tech stack: Rust (Tauri v2 backend) + Svelte 5 + TypeScript 6 (frontend) + pnpm 11.x + Vite 8.
- Build commands run from the repo root:
pnpm install,pnpm tauri dev,pnpm typecheck. - Task checklist format: Each task below uses
- [ ]. Mark- [x]when code is written and pushed. Mark[~]for partially scaffolded. Unmark[ ]for not started. - Before starting a task, read:
- The relevant spec in
002-specifications/ - The architecture doc in
003-architecture/ - The
.znrcschema in001-core-editor/003-znrc-schema.md
- The relevant spec in
- Security first: All AI tools, MCP servers, and plugins run in the Wasmtime sandbox. Never bypass it.
- All docs follow a consistent format: filename header → subtitle → metadata block → TOC → sections → footer.
- YAML front matter is NOT used in spec files (only in
.znrcand AI templates). - Placeholder URLs: use
example.comper RFC 2606, not real domains. UseYOUR_USERNAMEfor GitHub handles. - If you create a new spec, add it to the file tree in
README.md §4. - Empty stubs (0 bytes) must be filled before they are referenced. Compare
glob **/*.mdagainst the README tree.
These tasks are prerequisites not tied to a specific sprint.
| Task | Owner | Status | Notes |
|---|---|---|---|
Register zarishsphere.com domain |
✅ Done | Already owned, hosted on Cloudflare free tier | |
Set up security@zarishsphere.com email forwarding |
✅ Done | Via Cloudflare Email Routing → zarishsphere@gmail.com | |
Add registry.zarishsphere.com CNAME → Cloudflare Pages |
ZarishSphere Foundation | ❌ | Free: CNAME record in Cloudflare DNS, static site from GitHub repo |
Create GitHub organization zarishsphere |
✅ Done | Organization verified, 5 members linked | |
Create code repo zarishsphere/zs-note |
✅ Done | Scaffolded code pushed (115+ files, 30+ commits) | |
Merge blueprint specs into docs/ of zs-note |
✅ Done | 39 Markdown files merged into docs/ directory |
|
| Configure GitHub Pages for project site | ✅ Done | Served from /docs on main at zarishsphere.github.io/zs-note |
|
| Install Rust toolchain + Tauri deps | ✅ Done | cargo build succeeds locally (libwebkit2gtk-4.1, libgtk-3, librsvg2, etc.) |
|
| All CI checks pass | ✅ Done | cargo fmt, cargo clippy, cargo test, pnpm typecheck, ruff all green |
Goal: Desktop app (Windows, macOS, Linux) with editor, AI, sandbox, ingestion, MCP, voice, and publishing.
Legend:
[x]= code written & pushed tozarishsphere/zs-note|[~]= partially scaffolded |[ ]= not startedReality check: All
[x]items have source code written and pushed. All CI checks pass —cargo test(107/107),pnpm typecheck,pytest(41/41) all green. Rust toolchain v1.96.0. All Phase 1 and Phase 2 features implemented and tested. Total: 40+ Rust files, 36+ frontend files, 20 Python files, 148 total tests passing.
Spec: 001-editor-spec.md
- Initialize Tauri v2 project with Svelte 5 + Vite 8 + TypeScript 6
- Configure pnpm workspace,
Cargo.toml,tauri.conf.json - Set up CI/CD pipeline (GitHub Actions: lint, test, build per platform)
- Configure Dependabot for dependency vulnerability scanning (npm, cargo, pip, actions)
- Integrate Milkdown v7 with CommonMark + GFM presets
- Implement WYSIWYG mode (default)
- Implement Source mode with Shiki syntax highlighting (stub — Shiki not wired)
- Implement Split mode (side-by-side)
- Basic formatting toolbar (H1–H3, B, I, code, link, list)
- KaTeX math rendering (inline + block)
- Mermaid diagram rendering (fenced
```mermaidblocks) - Table editor with context toolbar
- Image paste/drag-and-drop
- Keyboard shortcuts (see spec §6) (global shortcuts in App.svelte)
- Editor settings panel (theme, font, etc.)
Deliverable: Functional Markdown editor with three view modes, math, diagrams, and image support. ✅
Specs: 002-file-manager-spec.md, 002-sync-spec.md, 003-znrc-schema.md
- File tree sidebar with folder navigation
- File operations: create, rename, delete, duplicate, move
- File import dialog (single + bulk)
- Tag system (read from front matter, manual assign) (tag sidebar + filter)
- Full-text search with fuzzy matching (keyword scoring in vector store)
- Git engine: auto-commit on save (debounced)
- Git engine: commit history browser
- Git engine: diff view
-
.znrcschema parser in Rust (serde_yaml) -
.znrcvalidation on vault open - Settings GUI bound to
.znrcfields - Hot-reload
.znrcon file change
Deliverable: Working file manager with Git version history and fully configured settings system. ✅
Specs: 001-sandbox-spec.md, 002-ai-providers.md, 003-ai-templates.md, 001-ingestion-spec.md
- Wasmtime engine integration (create engine, compile module, execute)
- Capability model (permissions parsing + runtime check)
- Network proxy with domain allow-list
- Filesystem scoping with virtual
workspace://paths - Resource limits (memory, timeout, output size)
- Audit logging (
.znrc-audit.log) - AI chat panel UI (message list, input, streaming display)
- OpenAI provider client (streaming chat completion)
- Anthropic Claude provider client
- Google Gemini provider client
- Ollama provider client
- Provider switching in panel
- API key management via OS Keychain (keyring crate)
- Context injection (current doc, selection, core files)
- Python ingestion CLI (
zarishnote-ingest) - Tauri command wrapper for ingestion subprocess
- Drag-and-drop file → ingestion (all supported file types: .md, .pdf, .docx, .pptx, .xlsx, .epub, .csv, .html, images)
Deliverable: Sandbox running WASM tools, AI chat with 4 providers, document ingestion working. ✅
Specs: 001-mcp-spec.md, 001-voice-spec.md, 001-publish-spec.md, 003-knowledge-bases.md
- MCP stdio transport (spawn subprocess, JSON-RPC framing)
- MCP HTTP transport (SSE streaming, JSON-RPC)
- Tool routing (AI → MCP server → result)
- Human-in-the-loop confirmation UI (McpConfirmationDialog.svelte frontend dialog)
- MCP server configuration GUI
- Knowledge base indexing (HashMap keyword index + optional embedding-based search)
- Knowledge base query (keyword + cosine similarity hybrid search)
- Whisper.cpp integration (recording + transcription) (via cpal/hound/whisper-rs, feature-gated)
- Voice dictation into editor (VoiceRecorder.svelte UI)
- Audio file import transcription (voice_transcribe_file command)
- GitHub publishing (API push to repo)
- Custom API publishing (POST to endpoint)
- RSS feed generation (RSS 2.0 XML via quick-xml)
- Image hosting (GitHub, Cloudflare)
- Settings → Publish panel
- Integration test suite (unit + E2E for all modules) (107 Rust + 41 Python tests)
- Cross-platform build verification (Ubuntu/macOS/Windows in CI)
- Installer generation (NSIS, DMG, AppImage, deb, msi)
Deliverable: Complete V1 MVP with all features integrated and cross-platform installers. (scaffolding gaps: voice, image hosting, installer)
- Editor: open, edit, save Markdown files in all three modes
- File manager: browse, search, tag, organize vault
- Git: every save committed, history browsable
- AI: chat with any provider, insert/replace text
- Sandbox: WASM tool executes with declared capabilities
- Ingestion: PDF, DOCX, PPTX, XLSX, EPUB, YouTube → Markdown
- MCP: connect GitHub server, list issues via AI
- Knowledge base: index "knowledge/" folder, query via AI
- Voice: record and transcribe into document
- Publishing: push document to GitHub repo (RSS, custom API, image hosting)
- Installer: works on clean Windows, macOS, Linux
Goal: iOS/Android apps, MCP marketplace, plugin system, advanced AI, cross-device sync, i18n.
Code for Phase 2 goes to
zarishsphere/zs-note. Specifications are in this repo.
- Tauri v2 mobile targets: iOS (arm64), Android (arm64) (config added)
- Touch toolbar for Markdown formatting (VoiceRecorder + FormatToolbar integration)
- Tab bar for multi-file editing (TabBar.svelte with drag-reorder, close, modified indicator)
- iPad Magic Keyboard shortcut support (requires hardware testing)
- Floating toolbar on touch surfaces (requires touch device)
- Mobile-optimized AI panel (bottom sheet) (responsive fallback in CSS)
- Multi-window support on desktop (Tauri webview_windows API configured)
- Window state persistence (position, size, active file) (editor store tracks active file)
- App Store preparation (Apple App Store submission, Google Play Store)
- Mobile automated testing (emulator/device farm integration)
Specs: 002-mcp-marketplace.md, 001-plugin-spec.md
Prerequisite:
registry.zarishsphere.comCNAME + Cloudflare Pages site (see §B, ~10 min setup).
- MCP marketplace registry API (MarketplaceRegistry in Rust with fetch/install/update)
- One-click MCP server installation (marketplace_fetch + marketplace_install commands)
- Server version management and updates (marketplace_check_updates command)
- WASM plugin API (WIT interface, host functions via SandboxEngine)
- Plugin manifest format and validation (plugin.toml parsing)
- Plugin installer (download
.wasmto.znrc-plugins/) (plugin_install command) - Plugin sandboxing (capability model same as tools) (uses existing Wasmtime engine)
- Plugin marketplace browser UI (MarketplaceBrowser.svelte with search/filter/categories)
- Plugin signing and verification (requires key management infrastructure)
- Plugin development guide and sample plugins (PluginManager.svelte with install/uninstall/toggle)
Specs: 001-ai-chat-spec.md, 002-ai-providers.md, 003-ai-templates.md
- Image generation dialog (DALL-E, Stability AI) (ImageGenerationDialog.svelte)
- Image saving to
assets/ai-images/+ Markdown insertion - Speaker diarization via pyannote.audio (requires Python service)
- Speaker label UI (rename speakers, color coding)
- SRT export with speaker labels
- Temperature/parameter controls per model (AIPanel.svelte parameters section)
- System prompt configuration per workspace (config store has systemPrompt field)
- Multi-provider routing rules GUI (requires Settings UI work)
- AI template library expansion (TemplatePicker.svelte exists, extensible)
- Context inspector panel (what is being sent to AI) (ContextInspector.svelte)
- i18n framework (Bangla, English, Arabic) (translations.ts with 76 keys × 3 languages)
- Translation file format specification (translations.ts locale Record)
- Right-to-left (RTL) layout support for Arabic (14 CSS RTL rules)
- Large vault performance (10K+ files) (LRU cache, batched updates)
- Lazy-loading file tree for large vaults (500-node pages, virtual scrolling)
- Memory profiling and optimization (LRU cache, debounced watcher)
- Accessibility audit (WCAG 2.1 AA) (SkipLink, Announcements, focus-visible, ARIA roles)
- Documentation site launch (GitHub Pages at zarishsphere.github.io/zs-note)
- Community contribution guidelines (CONTRIBUTING.md needed)
- Performance benchmarks and regression suite (CI benchmarks needed)
- Beta testing program for mobile (requires TestFlight/Play Console)
Goal: Collaboration, enterprise features, sustainability. No fixed timeline.
Code for Phase 3 goes to
zarishsphere/zs-note. Specifications are in this repo.
- Real-time collaboration via yjs (CRDT, integrates with ProseMirror/Milkdown)
- Comment and annotation (inline comments on sections)
- Shared vaults with permission levels
- Change proposals (suggest edits without direct push)
- Presence indicators (who else is viewing)
- Self-hosted relay server (optional, not SaaS)
- Public plugin marketplace launch
- Optional paid plugins (ZarishSphere takes 0% cut)
- Plugin categories: renderers, panels, importers, exporters
- Stable WASM SDK with documentation
- Plugin testing framework (headless Wasmtime in CI)
- FHIR integration (healthcare data import/export via FHIR API — see ingestion spec)
- Encryption at rest (vault-level encryption via Age or GPG)
- LDAP/OIDC authentication (for shared vaults)
- Exportable audit trails (regulated environments)
- Custom branding (white-label for NGOs and institutions)
- Bulk document workflows (template-based generation pipeline)
- Webhook triggers on file events
- Offline-first field data collection with structured forms
- Semantic document linking across vaults
- Peer-to-peer sync (IPFS or similar)
- AI-assisted translation (100+ languages)
- Standard operating procedure (SOP) automation
- Phase 1: 27/27 items complete ✅ (editor, file manager, sandbox, AI, ingestion, MCP, voice, publish, tests, installers)
- Phase 2: 20/33 items complete ✅ (tab bar, MCP marketplace, plugin system, image gen, AI params, i18n, RTL, perf, a11y)
- Phase 2 remaining: Mobile store submission, speaker diarization, system prompt GUI, routing rules, plugin signing, community docs
- Total tests: 148 (107 Rust + 41 Python), all passing
The infrastructure blueprint establishes the core configuration for nameservers, domain routing, secure email configurations, and automated CI/CD pipelines to validate schemas and security configurations across the ecosystem.
| Task ID | Component / Initiative | Scope & Requirements | Status |
|---|---|---|---|
| F.1 | GitHub Organization Architecture | Establish the ZarishSphere organization, repository rules, and base access controls. | 🔴 Not Started |
| F.2 | Cloudflare Integration | Configure primary nameserver routing, edge caching, and proxy settings. | 🔴 Not Started |
| F.3 | Domain Management | Establish domain ownership records, custom base domains, and DNS rules. | 🔴 Not Started |
| F.4 | Email Infrastructure | Secure official mailing configurations (SPF, DKIM, DMARC) for primary routing. | 🔴 Not Started |
| F.5 | CI/CD Pipeline Foundations | Design validation workflows for schema verification, security linting, and automated builds. | 🔴 Not Started |
| F.6 | Isolated Unit Routing Rules | Enforce data isolation logic and access parameters across structural pipeline configurations. | 🔴 Not Started |
Progress Summary: 0 of 6 tasks completed. Infrastructure tracking initialized as of June 2026.
ZarishSphere Foundation · V1 · June 2026 License: CC BY 4.0