{"id":48491949,"url":"https://github.com/laspencer91/notes-sync","last_synced_at":"2026-04-07T11:33:32.637Z","repository":{"id":309964959,"uuid":"1038043020","full_name":"laspencer91/notes-sync","owner":"laspencer91","description":"Automated note-taking and todo management system with CLI tools, daily templates, and GitHub sync.","archived":false,"fork":false,"pushed_at":"2025-08-25T22:24:11.000Z","size":3917,"stargazers_count":6,"open_issues_count":18,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-26T19:20:31.954Z","etag":null,"topics":["ai","cli","developer-tools","markdown","note-taking","productivity","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/laspencer91.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-14T14:25:14.000Z","updated_at":"2025-09-11T12:39:12.000Z","dependencies_parsed_at":"2025-08-14T22:10:33.969Z","dependency_job_id":"9525db7d-cd1d-4293-b4d0-7f268be7c806","html_url":"https://github.com/laspencer91/notes-sync","commit_stats":null,"previous_names":["laspencer91/notes-sync"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/laspencer91/notes-sync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laspencer91%2Fnotes-sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laspencer91%2Fnotes-sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laspencer91%2Fnotes-sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laspencer91%2Fnotes-sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/laspencer91","download_url":"https://codeload.github.com/laspencer91/notes-sync/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laspencer91%2Fnotes-sync/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31511762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","cli","developer-tools","markdown","note-taking","productivity","typescript"],"created_at":"2026-04-07T11:33:32.294Z","updated_at":"2026-04-07T11:33:32.616Z","avatar_url":"https://github.com/laspencer91.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e ⚠️ **Alpha Status**: This project is in active development. [CONTRIBUTING](docs/CONTRIBUTING.md) welcomed!\n\n# Welcome to Notes Sync! 📝✨\n\nHey, developer! Cozy up with your favorite editor and let Notes Sync transform your note-taking into a seamless, AI-enhanced adventure. Your notes live in **one simple Markdown file**—embracing simplicity. Everything in one place, synced effortlessly to Git by a background process with AI-powered insights. Ready to make note-taking a joy? Let’s dive in!\n\n\u003e 💡 Now get AI Power on your notes with [AiQ Terminal Assistant](https://github.com/laspencer91/aiq)!\n\u003e\n\u003e `notes-sync view --recent | aiq summarize`\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/readme-images/mark_complete_demo.gif\" width=\"700px\" style=\"border-radius:8px\" border=\"2px solid white\" /\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003eUsing Typora as Editor / Viewer\u003c/p\u003e\n\n[Get Started](#-get-started-in-3-steps) | [Key Features](#-key-features) | [See Limitations](#limitations)\n\n\n### **✅ macOS (Fully Supported)**\n\n**❌ Linux (Not Supported)**\n\n**✅ Windows (Fully Supported)**\n\n_Help us support new environments, check out [ISSUES](https://github.com/laspencer91/notes-sync/issues)_\n\n## What’s Notes Sync?\n\nNotes Sync is your personal note-taking sidekick, keeping all your notes in a single Markdown file for ultimate simplicity. It:\n\n- **Auto-syncs** your Markdown file to GitHub with every save, preserving file history.\n- **Adds AI magic** with daily quotes and smart insights.\n- **Offers a unified CLI** for quick note and todo management wherever you are.\n- **Keeps things tidy** with automatic formatting and auto-generated daily templates each morning.\n\nPerfect for:\n\n- Daily journals and task tracking in one file.\n- Meeting notes synced across devices.\n- Any Markdown notes you want backed up effortlessly.\n- The service can be installed without the CLI for use in auto-syncing a `.md` git repository.\n\n## 🚀 Get Started in 3 Steps\n\n\u003e 💡 **No built-in MD editor**: [Typora](https://typora.io/) is recommended for its beautiful rendering and hot reloading.\n\n1. **Install the CLI**:\n\n   ```bash\n   npm install -g @notes-sync/cli\n   ```\n\n2. **Run the Setup Wizard**:\n\n   ```bash\n   notes-sync install\n   ```\n\n   This guides you through:\n   - Choosing a notes directory (e.g., `~/Documents/DailyNotes`).\n   - Picking or creating **one Markdown file** (e.g., `Notes.md`) for all your notes.\n   - Setting up a Git repo for syncing.\n   - Enabling optional AI features with a Gemini API key.\n\n3. **Test It Out**:\n\n   ```bash\n   notes-sync status           # Check service\n   notes-sync add -n \"First note!\"  # Add a note\n   notes-sync view --today     # View today’s notes\n   ```\n\nThat’s it! Your single Markdown file is now syncing, and you’re ready to roll.\n\n## ✨ Why You’ll Love It\n\n- **One File, All Notes**: Everything lives in a single Markdown file for simplicity and focus.\n- **Auto-Sync to Git**: Saves and pushes your file to GitHub with smart, debounced commits.\n- **Daily AI Quotes**: Personalized, motivational quotes based on your notes.\n- **Unified CLI**: Interact with your `Notes.md` from wherever you are at with the CLI.\n- **Interactive Todos**: Mark complete or delete tasks with simple menus.\n- **Smart Search**: Find notes across days within your single file.\n- **Auto-Daily Templates**: Fresh daily sections with Focus, Notes, Done, and Tomorrow.\n- **Clean Formatting**: Keeps your Markdown file neat and consistent.\n\n## 📦 What’s Inside?\n\nNotes Sync is split into three npm packages:\n\n- `@notes-sync/cli`: Your go-to CLI for note and todo commands.\n- `@notes-sync/service`: Background server and file watcher for auto-sync.\n- `@notes-sync/shared`: Shared TypeScript types and API client for smooth communication.\n\nThe CLI auto-detects the service, whether in dev or production mode, and guides you if setup is needed.\n\n## 📖 Key Features\n\n### Add Notes \u0026 Todos\n\n```bash\nnotes-sync add -n \"Great idea from standup\"  # Appends to your freeflow notes section for today\nnotes-sync add -t \"Finish project proposal\"  # Adds to today’s todo checkboxes\n```\n\n### Manage Todos\n\n```bash\nnotes-sync mark-complete    # Interactive completion\nnotes-sync delete           # Interactive deletion\nnotes-sync incomplete-todos # See pending tasks\nnotes-sync archive          # Move done tasks to Done\n```\n\n### Search Notes\n\n```bash\nnotes-sync search \"project alpha\" --days 30  # Search your single file\n```\n\n### AI Insights\n\nAsk your notes anything with Gemini-powered analysis:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/readme-images/ai_query_demo.gif\" width=\"600px\" style=\"border-radius:8px\" border=\"2px solid white\" /\u003e\n\u003c/p\u003e\n\n```bash\nnotes-sync ai query \"What should I focus on next?\"\nnotes-sync ai query --week \"How productive was I?\"\n```\n\n### Auto-Daily Sections\n\nEach day adds a fresh section to your single Markdown file:\n\n```markdown\n# 8/14/2025\n\n_Keep your focus sharp, one task at a time_ - AI Generated\n\n**Today's Focus**\n\n- [ ] Your tasks here\n\n**Notes**\nFreeflow text in any format you like here!\n\n**Done**\nThe cli `archive` command will move completed tasks here!\n\n**Tomorrow**\nA section to track tomorrows tasks\n```\n\n### Format Like a Pro\n\n```bash\nnotes-sync format           # Clean up your single file\nnotes-sync format --validate # Check for issues\n```\n\n## ⚙️ Configure It Your Way\n\nRun `notes-sync install` for an interactive setup, or edit your config file:\n\n- macOS/Linux: `~/.config/notes-sync/config.json`\n- Windows: `%APPDATA%\\notes-sync\\config.json`\n\n```json\n{\n  \"notesDir\": \"/path/to/your/notes\",\n  \"notesFile\": \"Daily.md\",\n  \"debounceMs\": 20000,\n  \"glob\": \"**/*.md\",\n  \"ignore\": [\"**/.git/**\", \"**/.git\", \"**/node_modules/**\"],\n  \"autoCreateDaily\": true,\n  \"wakeDetection\": {\n    \"enabled\": true,\n    \"intervalMs\": 20000,\n    \"thresholdMs\": 20000\n  },\n  \"ai\": {\n    \"enabled\": true,\n    \"provider\": \"gemini\",\n    \"apiKey\": \"your-gemini-api-key-here\",\n    \"model\": \"gemini-2.5-flash-lite\",\n    \"features\": {\n      \"dailyQuotes\": {\n        \"maxLength\": 30,\n        \"focus\": [\"productivity\", \"personal growth\"],\n        \"adjectives\": [\"actionable or practical\", \"motivational\"],\n        \"additionalRules\": [\n          \"Prefer wisdom that applies to daily work and life\"\n        ],\n        \"allowGenerated\": false\n      }\n    },\n    \"rateLimiting\": {\n      \"requestsPerMinute\": 10,\n      \"requestsPerDay\": 100\n    }\n  },\n  \"server\": {\n    \"port\": 3127,\n    \"host\": \"localhost\"\n  }\n}\n```\n\nGet a free Gemini API key at [Google AI Studio](https://aistudio.google.com/).\n\n## 📋 Daily Workflow\n\n**Morning**:\n\n```bash\nnotes-sync daily --status    # Check today’s section\nnotes-sync add -t \"Plan sprint\"  # Set goals\n```\n\n**Daytime**:\n\n```bash\nnotes-sync add -n \"Discussed API with team\"  # Add to your file\nnotes-sync mark-complete     # Check off tasks\n```\n\n**Evening**:\n\n```bash\nnotes-sync archive           # Clean up completed todos\nnotes-sync ai query --review # Reflect on progress\n```\n\n## 🛠️ Troubleshoot \u0026 Uninstall\n\n**Service Issues**:\n\n```bash\nnotes-sync status  # Check if running\nnotes-sync logs    # View logs\nnpm install -g @notes-sync/service  # Reinstall service\n```\n\n**Uninstall**:\n\n```bash\n# For all platforms\nnotes-sync stop\nnotes-sync-service uninstall\nnpm uninstall -g @notes-sync/cli @notes-sync/service\n\n# macOS/Linux\nrm -rf ~/.config/notes-sync\n\n# Windows (Command Prompt)\nrd /s /q %APPDATA%\\notes-sync\n```\n\n## Limitations\n\n- While a directory of .md files can be synced to git, only one file can be managed by the CLI / Server HTTP.\n- No built in UI for Markdown rendering. [Typora](https://typora.io/) is a great option with a clean interface and supports \"hot reloading\" by default.\n- The template format is relatively strict, and not configurable at the time of writing. This would be an awesome feature to have in the future.\n\n## 🌟 Glossary\n\n- **Single File Simplicity**: All notes and todos live in one Markdown file for clarity and ease. See [Why You’ll Love It](#-why-youll-love-it).\n- **Auto-Sync**: Commits and pushes your file to GitHub on save. Learn more [here](#-key-features).\n- **AI Insights**: Contextual quotes and note analysis via Gemini. See [AI Insights](#-key-features).\n- **Daily Templates**: Auto-created daily sections in your file. Check [Auto-Daily Sections](#-key-features).\n\n## 🔮 Explore More\n\n- [CLI Commands](#-key-features): Full command reference.\n- [Development Guide](./docs/DEVELOPMENT.md): Build and extend Notes Sync.\n- [Contributing](#-development): Add your own features.\n- [License](#-development): MIT License details.\n\nNotes Sync is your cozy, powerful companion for keeping all your notes in one Markdown file. Embrace simplicity, capture ideas, and let AI spark your productivity! 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaspencer91%2Fnotes-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaspencer91%2Fnotes-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaspencer91%2Fnotes-sync/lists"}