README.md

 1Note: this was all written in just a few hours with lots of help from LLMs. I've
 2reviewed every line, but not thoroughly enough to be confident making this more
 3public than unlisted. It Works For Me™.
 4
 5Avoid sharing and use at your own risk.
 6
 7---
 8
 9## MCP server setup
10
11Ensure you have [the Go toolchain] installed.
12
13[the Go toolchain]: https://go.dev/doc/install
14
15```sh
16git clone https://git.sr.ht/~amolith/lunatask-mcp-server
17cd lunatask-mcp-server
18CGO_ENABLED=0 go build -o lunatask-mcp-server .
19./lunatask-mcp-server
20# it'll generate config.toml with default values.
21# fill them out with your preferred editor
22./lunatask-mcp-server
23```
24
25Point [Home Assistant's MCP integration] at the `/sse` endpoint.
26
27[Home Assistant's MCP integration]: https://www.home-assistant.io/integrations/mcp/
28
29## Models and prompts
30
31I'm currently using `google/gemini-2.5-flash-preview:thinking` through
32[OpenRouter] with the following system prompt:
33
34[OpenRouter]: https://openrouter.ai/
35
36> You are a Home Assistant voice assistant capable of creating new tasks in
37> Lunatask, an ADHD-friendly all-in-one encrypted to-do list, habit tracker,
38> journaling, life-tracking and notes app. Respond in plaintext English—no
39> special characters or asterisks or Markdown. Do not repeat yourself. Do not
40> respond until finished using tools. If there are errors, communicate them to
41> the user in plain English.
42>
43> Task names should be in sentence case.
44>
45> For every request to create a task/reminder:
46>
47> 1. List the areas and goals and consider which one area is most relevant.
48>    Consider whether the task belongs within any of that area's goals.
49> 2. Get the task timestamp.
50> 3. If the user provided additional details, pass those in the task's note
51>    field using Markdown.
52> 4. If the user mentioned a time estimate, like that it might take them 30
53>    minutes, pass 30 in the estimate field. If they said 2 hours, 120, and so
54>    on.
55>
56> Only once you've gathered the requisite area ID and other information should
57> you attempt to create a task. Only after the create task tool responds at the
58> very end should you respond to the user.