Kanban.md
Transform your Markdown files into powerful, interactive Kanban boards Features • Installation • Usage • Contributing • Changelog 📖 OverviewKanban.md is a modern VSCode extension that brings the power of Kanban boards directly into your Markdown workflow. Manage tasks, track progress, and organize projects using plain Markdown files with a beautiful, interactive drag-and-drop interface. Built with modern technologies (React 19, TypeScript 5.9, Vite 7) and designed to respect your VSCode theme, Kanban.md seamlessly integrates with your development environment.
✨ Features🎯 Core Functionality
📝 Rich Task Management
🔧 Advanced Features
🏗️ Technical Highlights
🚀 InstallationFrom VSCode Marketplace
From VSIX
Requirements
💡 UsageQuick Start1️⃣ Create a Kanban BoardOption A: From Sidebar (Recommended)
Option B: Manual Creation Create a file with
2️⃣ Open Kanban ViewChoose any method:
3️⃣ Manage TasksMoving Tasks
Filtering & Sorting
Task Operations
Column Operations
🎨 Task Format ReferenceSupported FormatsModern Structured Format (Recommended)
Attribute Values
⚙️ ConfigurationSettingsAccess via
|
| Command | Shortcut | Description |
|---|---|---|
Markdown Kanban: Kanban |
- | Open Kanban view for current file |
Markdown Kanban: New Kanban Board |
- | Create new kanban file |
Markdown Kanban: Refresh |
- | Refresh sidebar board list |
Markdown Kanban: Enable/Disable File Switcher |
- | Toggle automatic file switching |
🏗️ Development
Prerequisites
node --version # Should be 22+
npm --version
Setup
# Clone repository
git clone https://github.com/wguilherme/kanban.md.git
cd kanban.md
# Install dependencies
npm install
# Build extension + webview
npm run build
Development Workflow
# Watch mode (auto-rebuild on changes)
npm run watch
# Type checking
npm run check-types
# Linting
npm run lint
# Run tests
npm test
Project Structure
markdown-kanban/
├── src/
│ ├── extension.ts # Extension entry point
│ ├── kanbanWebviewPanel.ts # Webview lifecycle manager
│ ├── webview/ # React application
│ │ ├── App.tsx # Main React app with DnD
│ │ ├── components/
│ │ │ ├── atoms/ # Atomic design: Button, Badge, Input, etc.
│ │ │ ├── DraggableTask.tsx
│ │ │ └── DroppableColumn.tsx
│ │ ├── hooks/ # Custom React hooks
│ │ └── types/ # TypeScript definitions
├── dist/ # Build output
│ ├── extension.js # Bundled extension
│ └── webview/ # Bundled React app
├── vite.config.ts # Vite config for extension
├── vite.webview.config.ts # Vite config for webview
├── tailwind.config.js # TailwindCSS with VSCode theme vars
└── tsconfig.json # TypeScript configuration
Build System
This project uses Vite 7 with dual configurations:
- Extension: Node.js SSR build (
vite.config.ts) - Webview: Browser SPA build (
vite.webview.config.ts)
Key Technologies
| Technology | Version | Purpose |
|---|---|---|
| TypeScript | 5.9.3 | Type-safe development |
| React | 19.2.0 | UI framework |
| Vite | 7.2.4 | Build tool |
| TailwindCSS | 3.4.18 | Styling |
| @dnd-kit | 6.3.1 | Drag & drop |
| VSCode API | 1.106.1 | Extension integration |
🤝 Contributing
We welcome contributions! Whether it's bug reports, feature requests, or pull requests, your input helps make Markdown Kanban better.
How to Contribute
Fork the repository
gh repo fork wguilherme/kanban.mdCreate a feature branch
git checkout -b feature/amazing-featureMake your changes
- Write clean, typed TypeScript code
- Follow the Atomic Design pattern for components
- Add tests if applicable
- Update documentation
Test thoroughly
npm run check-types npm run lint npm run build # Manual testing in VSCodeCommit with clear messages
git commit -m "feat: add task duplication feature"Push and create PR
git push origin feature/amazing-feature gh pr create
Contribution Guidelines
- Code Style: Follow existing patterns, use TypeScript strict mode
- Commit Messages: Use Conventional Commits
feat:New featuresfix:Bug fixesdocs:Documentation changesrefactor:Code refactoringchore:Build/tooling changes
- Testing: Ensure no regressions before submitting
- Documentation: Update README/CHANGELOG for user-facing changes
Development Tips
- Use React DevTools for debugging webview components
- Check
Output > Markdown Kanbanfor extension logs - Test with multiple VSCode themes to ensure UI compatibility
- Verify
.kanban.mdfile sync works bidirectionally
Areas for Contribution
- 📱 Mobile/responsive improvements
- 🎨 Additional theme customization options
- 🔍 Advanced search/filter capabilities
- 📊 Task analytics and reporting
- 🌐 i18n/localization support
- 🧪 Test coverage expansion
- 📝 Documentation improvements
🐛 Bug Reports
Found a bug? Please open an issue with:
- VSCode version:
Help > About - Extension version: Check extensions panel
- OS: Windows/macOS/Linux + version
- Steps to reproduce: Detailed repro steps
- Expected vs actual behavior
- Screenshots/GIFs: If applicable
- Sample
.kanban.mdfile: If relevant
💬 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Marketplace: VSCode Marketplace
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Built with VSCode Extension API
- Drag & drop powered by @dnd-kit
- UI components follow Atomic Design principles
- Special thanks to all contributors
📊 Project Stats
Made with ❤️ by the open source community

