typstwriter.nvim
A metadata-driven Typst writing system for Neovim that serves as a complete terminal-native document creation and knowledge management tool.
Core Philosophy
- Terminal-native: Everything stays in Neovim, no GUI dependencies
- Metadata-driven: Uses native Typst
#metadata()
functions for document properties - Privacy-first: Local processing, your data stays local
- Progressive enhancement: Starting with templates, evolving toward AI-assisted knowledge management
📚 Documentation
Section | Description |
---|---|
📦 Installation | Get typstwriter.nvim up and running |
⚙️ Configuration | Customize your setup and preferences |
💻 Commands | Learn all available commands |
📝 Templates | Work with Typst templates |
🔧 Development | Technical docs for contributors |
Quick Start
- Install the plugin and Typst binary
- Configure your preferences (optional)
- Run one-time setup with
:TypstWriter setup
- Create your first document with
:TypstWriter new
- Compile and view with
:TypstWriter both
Features
Current Features
- Template System: Create documents from Typst templates with native metadata
- Compilation: Compile Typst documents to PDF with status checking
- Cross-platform: Works on Linux, macOS, and Windows
- Configuration: Deep merge configuration system with validation
Planned Features (PKS Evolution)
- Document Linking: Fuzzy search and backlink discovery
- Metadata Search: Multi-criteria search across your knowledge base
- Visual Graphs: Network visualization of document relationships
- Local AI: Privacy-first AI assistance for writing and organization
Development
This plugin is actively developed with a focus on quality and reliability:
- Testing: 7 passing integration tests, 0 failures
- Code Quality: 0 lint warnings, perfect formatting
- Documentation: Comprehensive guides and API reference
Getting Help
- GitHub Issues: Report bugs or request features
- Documentation: Browse these docs for detailed information
- Community: Star the repo if you find it useful!
typstwriter.nvim - Transforming how you write and organize knowledge in the terminal.