Of course. Here is a comprehensive README.md document for the Synapse Plugin Development project.
This README is designed to serve multiple purposes: it's a welcoming entry point for new contributors, a quick reference for developers, and a high-level overview for anyone interested in the project's vision and progress.
Synapse is an in-development Obsidian plugin designed to transform your vault into an intelligent, adaptive, and motivating productivity system. It moves beyond traditional, static to-do lists to become an active partner in achieving your goals, leveraging principles from Control Theory and AI to create a true cybernetic loop for personal productivity.
- Project Vision
- Core Features (The Roadmap)
- Getting Started for Developers
- Architectural Overview
- How to Contribute
- License
Traditional task managers are passive archives. They require constant manual organization, lack context about your broader goals, and often fail to provide the motivation needed to build momentum. This leads to task overwhelm, procrastination, and abandoned projects.
Synapse aims to solve this.
Our vision is to create a "Second Brain" for your tasks and goals directly within Obsidian. It functions as an intelligent system that:
- Senses: Automatically parses and understands your tasks, routines, and goals from your notes.
- Compares: Helps you see the gap between your plans (top-down goals) and your reality (bottom-up daily actions).
- Actuates: Provides tools and intelligent suggestions to help you take corrective action, stay on track, and build sustainable habits.
This creates a powerful, continuous feedback loop that helps you learn about your own work style and become more effective over time.
The development of Synapse is planned in three distinct phases:
- Vault Parser & Data Indexer: A high-performance backend that scans your vault to create a live, in-memory index of all tasks and goals.
- Custom Interactive Views: Dedicated, fast-loading dashboards for viewing your active goals and daily tasks, replacing the need for slow, complex Dataview queries.
- Enhanced Task Management: Frictionless task creation and time-stamping via commands and context menus.
- Weekly Review Assistant: An automated tool to guide your weekly review, showing progress against goals and flagging deviations.
- Daily Planning Assistant: Proactive suggestions for your "Top 3 Priorities" based on your goals and deadlines.
- Habit & Streak Tracking: Gamified tracking for core routines to build consistency.
- Personalised Productivity Insights: The system will analyse your historical data to provide actionable insights, such as identifying your most productive hours or your tendency to underestimate task duration.
- Adaptive Control & Smart Scheduling: Intelligent suggestions for task scheduling and time estimation based on your unique work patterns.
Interested in contributing or running the plugin locally? Follow these steps.
- Node.js (LTS version)
- npm (comes bundled with Node.js)
- Obsidian Desktop App (v0.15.0 or higher)
- A test Obsidian vault.
-
Clone the Repository:
git clone https://github.com/your-username/obsidian-synapse-plugin.git cd obsidian-synapse-plugin -
Install Dependencies:
npm install
-
Start the Watch Script: This command will compile the plugin and automatically re-compile whenever you save a file.
npm run dev
-
Link the Plugin to Your Test Vault: Create a new folder in your test vault's plugin directory:
<YourVault>/.obsidian/plugins/synapse/. -
Copy Files: Copy the generated
main.js,manifest.json, andstyles.cssfrom the project root into thesynapsefolder you just created. Note: For a more advanced workflow, you can set up a symbolic link. -
Enable in Obsidian: Open Obsidian, go to
Settings > Community Plugins, refresh the list, and enable the "Synapse" plugin.
Synapse is built on a clean, decoupled architecture inspired by Control Theory.
| Component | Role in Synapse |
|---|---|
| System | You, the user—your time, energy, and attention. |
| Sensor | The Vault Parser & Data Indexer, which reads your notes and converts your actions into structured data. |
| Controller | A combination of the UI Dashboards (which compare plans to reality) and You (during your review). |
| Actuator | Your Planning Rituals, enhanced by the plugin's commands and assistants, which translate insights into corrective actions. |
src/main.js: The main plugin entry point. It initializes all other components and registers them with Obsidian.src/DataIndex.js: The backend data engine. It is responsible for all parsing, indexing, and data querying. It has no knowledge of the UI.src/ui/: A directory containing all the code for the custom, interactive views (e.g., Goals Dashboard, Daily Mission Control). These components get their data exclusively from theDataIndex.src/types.js: (Using JSDoc) This file defines the "data contracts"—the precise shape of theSynapseTaskandSynapseGoalobjects used throughout the plugin.
We welcome contributions of all kinds! Whether it's reporting a bug, suggesting a feature, or writing code, your help is appreciated.
- Issues: Please check the Issues tab to see if a similar bug or feature request already exists. If not, feel free to open a new one.
- Pull Requests:
- Fork the repository.
- Create a new branch for your feature or bug fix (
git checkout -b feature/my-new-feature). - Commit your changes with clear, descriptive messages.
- Push your branch and open a Pull Request.
Please adhere to the existing code style and ensure all contributions are well-documented.
This project is licensed under the MIT Licence. See the LICENSE file for more details.
