{"id":44115896,"url":"https://github.com/snehmatic/mindloop","last_synced_at":"2026-05-03T17:06:20.942Z","repository":{"id":332622022,"uuid":"1019597062","full_name":"snehmatic/mindloop","owner":"snehmatic","description":"Productivity suite","archived":false,"fork":false,"pushed_at":"2026-05-03T06:32:50.000Z","size":74388,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-03T06:34:39.874Z","etag":null,"topics":["adhd-friendly","cli-tool","developer-efficiency","golang","habit-tracking","journaling","learning-by-doing","mood-tracking","productivity","rest-api","terminal-based","time-tracking"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snehmatic.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":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-14T15:15:24.000Z","updated_at":"2026-05-03T06:12:01.000Z","dependencies_parsed_at":"2026-03-15T09:04:38.065Z","dependency_job_id":null,"html_url":"https://github.com/snehmatic/mindloop","commit_stats":null,"previous_names":["snehmatic/mindloop"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/snehmatic/mindloop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snehmatic%2Fmindloop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snehmatic%2Fmindloop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snehmatic%2Fmindloop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snehmatic%2Fmindloop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snehmatic","download_url":"https://codeload.github.com/snehmatic/mindloop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snehmatic%2Fmindloop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32577142,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: 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":["adhd-friendly","cli-tool","developer-efficiency","golang","habit-tracking","journaling","learning-by-doing","mood-tracking","productivity","rest-api","terminal-based","time-tracking"],"created_at":"2026-02-08T17:13:54.639Z","updated_at":"2026-05-03T17:06:20.935Z","avatar_url":"https://github.com/snehmatic.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mindloop\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"web/static/images/logo-readme.svg\" width=\"200\" alt=\"Mindloop Logo\"\u003e\n\u003c/p\u003e\n\n![CI Status](https://github.com/snehmatic/mindloop/actions/workflows/ci.yml/badge.svg)\n![Release Version](https://img.shields.io/github/v/release/snehmatic/mindloop)\n![License](https://img.shields.io/github/license/snehmatic/mindloop)\n![Go Version](https://img.shields.io/github/go-mod/go-version/snehmatic/mindloop)\n\n**Mindloop** is a comprehensive productivity suite designed for local-first workflow management. It operates as a **CLI tool**, a **local API**, and a **UI**, utilizing a local SQLite database with BYODB (Bring Your Own Database) support.\n\n## Table of Contents\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n  - [Build Commands](#build-commands)\n- [Documentation](#documentation)\n- [Configuration](#configuration)\n- [Motivation](#motivation)\n\n## Getting Started\n\n### Prerequisites\n\n*   [Go](https://go.dev/) 1.26+\n*   [Make](https://www.gnu.org/software/make/)\n\n### Installation\n\n#### Option 1: Homebrew (macOS/Linux)\nThe easiest way to install and keep Mindloop updated.\n```bash\nbrew tap snehmatic/mindloop\nbrew install mindloop\n```\n\n\u003e **Note:** If you are not seeing the latest version, run `brew update` to refresh the tap.\n\n**Run as a background service:**\nYou can use Homebrew Services to run the Mindloop server in the background:\n```bash\nbrew services start mindloop\n```\n\n#### Option 2: Go Install\nIf you have Go installed, you can install the latest version directly:\n```bash\ngo install github.com/snehmatic/mindloop@latest\n```\n\n#### Option 3: Download Binaries\nDownload the latest pre-compiled binary for your OS from the [Releases Page](https://github.com/snehmatic/mindloop/releases).\n\n#### Option 4: Build from Source\n1.  **Clone the repository:**\n    ```bash\n    git clone https://github.com/snehmatic/mindloop.git\n    cd mindloop\n    ```\n\n2.  **Build:**\n    ```bash\n    make build\n    ```\n    This generates `mindloop` (CLI) and `mindloop-server` (Server) binaries.\n\n3.  **Run the Server (Quick Start):**\n    For local development with the UI:\n    ```bash\n    make run-server\n    ```\n    This will start the server on port `8765` (default).\n\n    To use a custom port or mode:\n    ```bash\n    make run-server PORT=9000 MODE=byodb\n    ```\n    \n    Access the UI at [http://localhost:8765](http://localhost:8765)\n\n### Build Commands\n\nThe project includes a `Makefile` to simplify common tasks:\n\n*   `make build`: Build both the CLI and Server binaries.\n*   `make build-cli`: Build only the CLI binary.\n*   `make start-server`: Build and run the server in the background (daemon).\n*   `make kill-server`: Stop the background server.\n*   `make test`: Run unit tests.\n*   `make clean`: Remove build artifacts.\n\n## Documentation\n\n* **[Features](docs/FEATURES.md)**: Explore the different features Mindloop offers like Intents, Focus Sessions, Habits, and more.\n* **[Architecture](docs/ARCHITECTURE.md)**: Learn about Mindloop's clean architecture, interfaces, and data layer.\n* **[CLI Usage Guide](docs/CLI_USAGE.md)**: Detailed instructions on how to use Mindloop directly from the command line.\n* **[Web UI Documentation](docs/web_ui.md)**: A visual tour of the web interface and responsive design.\n* **[Releasing Guide](docs/RELEASES.md)**: Instructions on how to create and publish new releases.\n\n## Configuration\n\nBy default, Mindloop runs in **Local Mode** using SQLite.\n\nTo use an external database (e.g., PostgreSQL), you can configure the application via environment variables.\n\n1.  Copy the example env file:\n    ```bash\n    cp example.env .env\n    ```\n2.  Edit `.env` with your database credentials (DB_HOST, DB_PORT, etc.).\n\n## Motivation\n\nMindloop is a productivity suite, for getting started with intentions, habits, journals or focus sessions.\n\nAs a developer with attention problems, Mindloop started as a personal CLI tool to manage my daily work routine. `Intents` to set one single intention or work item to track and focus on, and `focus sessions` to break that intention down into chunks of high quality deep work frames.\n\nThis workflow worked well for starters. Alongside, the additional `habits` and `journal` features were added just because. But weirdly enough those caught up and I incorporated them into my workflow as well. I'd start my day ticking off habits that I had set (daily and weekly) and by the end of the day, write down a mini journal to just close the loop, end work and go touch some grass.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnehmatic%2Fmindloop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnehmatic%2Fmindloop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnehmatic%2Fmindloop/lists"}