Upgrade github.com/mailru/easyjson from v0.7.7 to
v0.9.1. Go module system also updated transitive
dependencies and removed unused ones (golang.org/x/mod,
golang.org/x/net, golang.org/x/tools).
All tests and checks pass successfully.
Co-Authored-By: Crush <crush@charm.land>
Upgrades golang.org/x/mod, golang.org/x/net, and
golang.org/x/tools to their latest versions. All tests,
linting, and static analysis pass.
Co-Authored-By: Crush <crush@charm.land>
Upgraded github.com/spf13/cast from v1.7.1 to v1.10.0
with no breaking changes.
Co-Authored-By: Crush <crush@charm.land>
Amolith
and
Crush
created
fa4eb73
refactor: update mcp-go to v0.40.0 and use typed
Click to expand commit body
handlers
- Upgrade mcp-go dependency from v0.23.1 to v0.40.0
- Replace direct handler functions with typed handlers
using mcp.NewTypedToolHandler
- Add proper argument structs for all tool handlers
- Improve type safety and reduce runtime type assertions
Co-Authored-By: Crush <crush@charm.land>
Update repository project name from 'lunatask-mcp-server' to
'llm-projects' in the `pr.pico.sh` examples and links.
Removed alternative contribution methods (SourceHut, Radicle) to
simplify the collaboration guidelines, focusing solely on using
`pr.pico.sh` for patch requests.
Added a comprehensive list of all available tools with their parameters
and descriptions to the README.md file.
- Documented get_timestamp tool
- Documented list_areas_and_goals tool
- Documented create_task tool with all parameters
- Documented update_task tool with all parameters
- Documented delete_task tool
- Documented list_habits_and_activities tool
- Documented track_habit_activity tool
This makes it easier for users to understand what tools are available
and how to use them.
Co-Authored-By: Crush <crush@charm.land>
Amolith
and
Crush
created
5889508
feat: allow task updates without area_id change
cdfec83
feat: add Eisenhower Matrix field to task creation and updates
Click to expand commit body
Add support for Eisenhower Matrix quadrant classification in both
create_task and update_task operations. The field accepts human-readable
values that are translated to API integers:
- uncategorised (0) - clears the field
- both urgent and important (1)
- urgent, but not important (2)
- important, but not urgent (3)
- neither urgent nor important (4)
Includes proper validation and helpful error messages following the
existing priority field pattern.
Amolith
created
efdf9eb
fix: resolve validation discrepancies between create_task and update_task
Click to expand commit body
- Standardize estimate max value to 720 minutes (12 hours) across both tools
- Fix incorrect tool name references from get_task_timestamp to get_timestamp
Amolith
created
969cacf
feat: enhance MCP tool descriptions with comprehensive usage guidelines
Click to expand commit body
- Add detailed workflow instructions for all tools with proper sequencing
- Document enum constraints and parameter limits in natural language
- Include system prompt requirements for task creation workflow
- Clarify when to include optional parameters vs when to omit them
- Add speech-to-text interpretation guidance for better user experience
Change gofumpt command in justfile to use '.' instead of './...' to format the
root directory and not only children directories.
Amolith
created
736d411
fix(config): Correct multiple to singular terms in TOML config
Click to expand commit body
The TOML configuration keys `goals` and `areas` were incorrectly pluralized.
This commit renames them to the singular `goal` and `area` respectively to align
with the TOML parser's expectation for arrays of a single type.
Amolith
created
8d481aa
chore: Update justfile to use go modules and build cmd
3c552c7
refactor: Move general tools code from handlers.go to tools.go
Amolith
created
e1c3848
refactor: Split tools handlers into separate files
Amolith
created
9830322
refactor: Split main.go into cmd/main.go and tools/handlers.go
Amolith
created
bdda7df
refactor: change task priority to string enum in task update tool
Click to expand commit body
Updates the task priority argument to accept string values ("lowest", "low",
"neutral", "high", "highest") instead of a number range (-2 to 2). This improves
clarity and user experience. The internal representation remains an integer.
d774a29
refactor(mcp): Change priority field to string enum
Click to expand commit body
Update the 'priority' field in the MCP schema from a number between -2 and 2 to
a string enum with values like 'lowest', 'low', and 'highest'. This provides a
more descriptive way to specify task priority.
Translate the string input to the corresponding integer value before processing
the task creation.
The new `.rules` file outlines a standardized process for LLMs to follow after
completing requests. This includes checking project diagnostics and running
automated checks to ensure code quality and consistency.
Amolith
created
c4cfdd8
refactor(habits): make PerformedOn datetime format explicit
Click to expand commit body
Explicitly set the `PerformedOn` field's datetime validation format
in `TrackHabitActivityRequest` to `2006-01-02T15:04:05Z07:00` (RFC3339).
This change replaces the generic `datetime` validator tag to improve
code clarity and ensure the expected input format is self-documenting.
It assumes the previous default validation behavior was already RFC3339,
so no functional change to validation logic is intended.
Amolith
created
c3a86e4
feat(habits)!: enhance habit tracking with consolidated tools
Click to expand commit body
Introduces a more robust mechanism for tracking habits and activities.
This change renames the configuration key for habits and updates the
LLM tools for better interaction and functionality.
The `Config.Habits` field in `config.toml` has been renamed to
`Config.Habit` for consistency and to support these enhancements.
The `list_habits` tool has been removed. It is replaced by the new
`list_habits_and_activities` tool. This tool lists habits and their
IDs, enabling the LLM to better identify entries for tracking or
marking completion via the `track_habit_activity` tool. The description
for `track_habit_activity` has also been updated.
The prompt guidance in `README.md` is updated to leverage these changes,
instructing the LLM to use `list_habits_and_activities` to find
relevant habits when a user indicates completion of a task without
other context.
BREAKING CHANGE:
- The configuration field `Habits` in `config.toml` has been renamed
to `Habit`. Users must update their configuration files:
e.g., `Habits = [...]` should become `Habit = [...]`.
- The LLM tool `list_habits` has been removed and is superseded by
`list_habits_and_activities`. LLM prompts or integrations relying
on the `list_habits` tool must be updated.
Amolith
created
88f65c4
feat(habits)!: add habit tracking and listing capabilities
Click to expand commit body
This commit introduces functionality to track and list habits
via the Lunatask API and new MCP tools.
Key changes include:
- `lunatask.TrackHabitActivity`: New client method and associated types
for tracking habit completions. Includes request validation.
- `list_habits` MCP tool: Lists configured habits and their IDs.
- `track_habit_activity` MCP tool: Allows tracking of habit activity
using a habit ID and a timestamp (obtained via `get_timestamp`).
- Configuration: Added `Habits` section to `config.toml` for defining
habits.
Tooling improvements:
- Renamed `get_task_timestamp` MCP tool to `get_timestamp`.
- Clarified descriptions for parameters in `create_task` and
`update_task` MCP tools.
BREAKING CHANGE: The MCP tool `get_task_timestamp` has been renamed to
`get_timestamp`. Clients using the old tool name need to reload their
integration.
Amolith
created
69bc180
refactor: Move Client and NewClient to client.go
This commit introduces the functionality to delete tasks.
It adds a `DeleteTask` method to the Lunatask client, along with
a `DeleteTaskResponse` struct, enabling interaction with the
Lunatask API's task deletion endpoint.
Additionally, a new `delete_task` tool and its corresponding
`handleDeleteTask` handler are integrated into the MCP server,
exposing this new capability.
Amolith
created
14daf9a
feat: Make task name required for update tool and validation
Amolith
created
d93c6da
refactor: Remove empty if block in handleUpdateTask
Amolith
created
61c437b
feat: Add update_task tool and Lunatask client method