Commit log

15aede7 docs(collab): fix pr.pico.sh ls cmd

Amolith created

eb73805 feat(docs): add llm-oriented intro

Amolith created

dfb2c4b docs(readme): update collaboration guidelines

Click to expand commit body
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.

Amolith created

4c27188 feat: add crush.json

Amolith created

76dc08a Document available MCP tools in README

Click to expand commit body
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

Click to expand commit body
Co-Authored-By: Crush <crush@charm.land>

Amolith and Crush created

1388207 docs: refine prompt

Amolith created

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

Amolith created

8d76de9 docs: link to lunatask

Amolith created

b1387ff docs: swap shields.io badge for reuse.software badge

Amolith created

1ec395d docs: add badges

Amolith created

e504fc1 docs(collab): remove unused section

Amolith created

cdec68d docs(collab): move section up, mention list

Amolith created

3c40fb7 docs: add contributions section

Amolith created

555271c docs: remove priority rules from readme

Amolith created

1bf9a24 chore(justfile): fix gofumpt command input

Click to expand commit body
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

Amolith created

c25ef0c fix: Remove duplicate handler methods

Amolith created

230872f refactor: Remove unused import and add newline

Amolith created

dfadd27 refactor: Remove unused handlers file

Amolith created

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.

Amolith created

e034862 docs: update note

Amolith created

5c6045f docs: correct git command

Amolith created

d3b1408 docs: update collaboration instructions

Click to expand commit body
Improve the explanation of the patch request workflow and add a link to the
pico.sh patch request homepage for further details.

Amolith created

a904ece docs: improve pr section

Amolith created

a8cd388 docs: add collaboration section

Amolith created

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.

Amolith created

96d703c docs(rules): add development guidelines

Click to expand commit body
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

Amolith created

5c18f05 feat(task): implement task deletion capability

Click to expand commit body
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

Amolith created

c37f3bf refactor(tasks)!: add task DTOs, enforce UUIDs for IDs

Click to expand commit body
Introduces `Task` and `Source` data transfer objects (DTOs) for
representing task-related data, primarily for API responses.

Validation for `CreateTaskRequest` has been updated:
- `AreaID` validation now enforces `uuid4` format if the field is present.
- `GoalID` validation now enforces `uuid4` format if the field is present.

BREAKING CHANGE: The `AreaID` and `GoalID` fields in the `CreateTaskRequest`
must now be valid UUIDv4 strings if provided. Previously, these fields
might have accepted non-UUID strings or had less strict validation.
Clients sending requests to create tasks must ensure these IDs conform to
the UUIDv4 format to avoid validation errors.

Amolith created

97fdaf5 refactor(lunatask): introduce client for task creation

Amolith created

59860b6 chore: bump deps

Amolith created

cc3952c feat: Start new lunatask package

Amolith created

928c6b1 chore(docs): correct typo

Amolith created

67ac19e docs: expand user-provided instructions, more strongly encourage adherence

Amolith created

ed6422d docs: update system prompt

Click to expand commit body
- Don't correct yourself with confirmation
- Mention priority options (it was thinking "top" = 10 even though tool desc
  says -2 - 2).
- Explicitly tell it to intuit intent a bit
- Add user_provided_content block

Amolith created

b969e9e chore(justfile): revise versioning logic

Amolith created