A simple, focused task creation plugin for Obsidian that works seamlessly with the Bases feature for task management and visualization.
- Quick Task Creation: Simple modal for creating tasks with template-aligned fields
- Bases Integration: Designed to work perfectly with Obsidian's Bases feature for task visualization
- Template Alignment: Task structure matches your existing templates (Title, Type, Areas, Parent task, tags, Project, Done, Status, Priority)
- Minimal Configuration: Simple settings for folder paths and template preferences
- No Sync Complexity: Relies on Bases for automatic syncing and data management
- Download the latest release from the GitHub releases page
- Extract the files to your vault's
.obsidian/plugins/obsidian-task-sync/directory - Enable the plugin in Obsidian's Community Plugins settings
- Clone this repository
- Run
npm installto install dependencies - Run
npm run buildto build the plugin - Copy
main.js,manifest.json, andstyles.cssto your vault's plugin directory
- Add Task: Create a new task with a simple modal form that matches your template structure
Configure the plugin through Settings > Community Plugins > Task Sync:
- Folder Locations: Set custom folders for tasks, projects, and areas
- Template Settings: Configure template folder and Templater integration
This plugin is designed to work with Obsidian's Bases feature:
- Create tasks using the plugin's "Add Task" command
- Set up Bases to visualize and manage your tasks (e.g., Kanban boards, tables)
- Use Bases for filtering, sorting, and organizing your task data
- Edit tasks directly in Obsidian or through Bases interface
Note: There's no Bases API yet, so you'll need to set up your Bases manually for now.
- Node.js 18+
- npm
# Set up development environment (handles cross-platform dependencies)
./setup-dev.sh
# Install plugin to Obsidian
./install-plugin.sh
# Make changes and update plugin
./update-plugin.sh# Install dependencies
npm install
# Build for development (with watch mode)
npm run dev
# Build for production
npm run build
# Run tests
npm test
# Run e2e tests (automatically sets up environment if needed)
npm run test:e2e
# Manually verify e2e setup
npm run setup:verify
# Manually trigger e2e setup
npm run setup:e2eNote on E2E Testing: The first time you run npm run test:e2e, the environment will be automatically set up if needed. This includes:
- Installing xvfb for headless testing on Linux
- Installing Electron dependencies
- Downloading and unpacking Obsidian for testing
- Building the plugin
If you encounter any issues, you can manually verify the setup with npm run setup:verify or force a setup with npm run setup:e2e.
This plugin supports development on both macOS and Linux. The scripts automatically handle platform-specific dependencies:
./setup-dev.sh- Sets up development environment for current platform./install-plugin.sh- Installs plugin to Obsidian vault./update-plugin.sh- Quick update during development
Note: If you switch between platforms (e.g., develop on macOS then test on Linux), run ./setup-dev.sh again to reinstall platform-specific dependencies.
The plugin includes comprehensive test coverage:
- Unit Tests: Test individual components and functions
- Integration Tests: Test plugin lifecycle and settings
- E2E Tests: Test the plugin in a real Obsidian environment using Playwright
src/
├── main.ts # Main plugin class
├── types/ # TypeScript type definitions
├── services/ # Business logic services
├── components/ # UI components
└── utils/ # Utility functions
tests/
├── setup.ts # Test configuration
├── __mocks__/ # Mock implementations
└── *.test.ts # Unit tests
e2e/
├── global-setup.ts # E2E test setup
├── global-teardown.ts # E2E test cleanup
└── *.e2e.ts # End-to-end tests
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
MIT License - see LICENSE file for details
- TypeScript project structure with modern build tools
- Plugin manifest and basic class with lifecycle methods
- Settings interface and persistence with validation
- Testing infrastructure with Vitest and Playwright
- Task, Project, and Area entity interfaces with comprehensive properties
- Vault scanning service with folder detection and file parsing
- Base file parser and creator for Obsidian Bases integration
- Template detection for native Obsidian and Templater plugin
- Dashboard modal
- Task creation/editing forms
- Project and area management
- Command implementations
- Hotkey bindings
- Context menus
- Automatic base file generation
- Kanban view compatibility
- Filtering and sorting
- Native template support
- Templater integration
- Variable injection
- Task dependencies
- Reminder system
- Reporting dashboard
- Performance optimization
- Documentation
- Community store submission