Commit log

7830726 docs: mention effective archival

Amolith created

da9abb4 docs(readme): add collaboration guide

Click to expand commit body
Details how users can submit patch requests using `pr.pico.sh`
without needing to fork the repository or use `git send-email`.

Also clarifies that the example configuration file generation is
optional.

Amolith created

5280bd7 docs: fix go install path

Amolith created

f5cb848 fix: update module path to git.secluded.site

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

Amolith and Crush created

72b66e8 docs: update README installation instructions

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

Amolith and Crush created

b6ce01b feat: add modify_task tool for task updates

Click to expand commit body
Add new MCP tool to modify task title and/or description with
automatic ID regeneration. The tool accepts task_id (required) and
optional title/description fields, updating only provided fields while
maintaining existing content for omitted ones.

Includes proper validation, logging, and returns updated task list.
Updates documentation across AGENTS.md and README.md.

Co-Authored-By: Crush <crush@charm.land>

Amolith and Crush created

2ad31ec chore: add licensing info

Amolith created

b3918b8 chore: bump viper for GO-2025-3900 & GO-2025-3787

Amolith created

284282a fix: refine add_tasks to encourage get_tasks less

Amolith created

02b37b4 chore: clean up docs

Amolith created

6d562ea chore: refine tool/parameter descriptions

Amolith created

6611883 chore: remove prefix

Amolith created

8b04c5b chore: simplify output on task creation

Amolith created

d240d23 docs: enhance AGENTS.md with detailed architectural nuances

Click to expand commit body
Add comprehensive documentation of non-obvious implementation details:
- Clarify task ID generation (8 hex chars from SHA256)
- Document silent duplicate task detection behavior
- Explain atomic update pattern in UpdateTasks method
- Detail task list ordering (sorted by creation time)
- Add helper function patterns for MCP responses
- Include config file search paths and naming
- Add test running and maintenance commands

🩷 Generated with Crush
Co-Authored-By: 🩷 Crush <crush@charm.land>

Amolith and 🩷 Crush created

18c8bfa refactor: remove unused UpdateGoal method and document HistoryEnabled field

Click to expand commit body
- Remove unused UpdateGoal method from planning manager
- Add documentation comment for HistoryEnabled config field indicating it's reserved for future use
- Improves code maintainability by eliminating dead code

Amolith created

5e3e5a8 perf: replace O(n²) bubble sort with O(n log n) sort.Slice

Click to expand commit body
Replace inefficient bubble sort implementation in formatTaskListWithFilter
with Go's standard library sort.Slice for better performance and readability.

- Improves time complexity from O(n²) to O(n log n)
- Reduces code from 7 lines to 3 lines
- Uses idiomatic Go standard library patterns
- Maintains identical sorting behavior (oldest tasks first)
- Passes all linting and static analysis checks

Amolith created

78342bb feat: implement centralized validation layer

Click to expand commit body
- Create Validator interface and PlanningValidator implementation
- Add comprehensive validation for all MCP request types
- Separate request parsing from validation logic
- Update all MCP handlers to use centralized validation
- Remove unused parseAndValidate function and validator dependency
- Add comprehensive test suite with 565 test cases covering all validation scenarios
- Improve error messages with consistent format
- Enable configuration-based validation limits

Amolith created

24a8d45 feat: implement structured request/response types with validation

Click to expand commit body
- Add internal/mcp/types.go with request structs for all MCP handlers
- Replace manual JSON parsing with parseAndValidate generic helper
- Add go-playground/validator/v10 dependency for struct validation
- Refactor all 6 MCP handlers to use structured types
- Improve type safety and eliminate ~150 lines of manual validation code
- Add compile-time type checking for all MCP request parameters

Amolith created

ed86acc feat: symlink claude to agents

Amolith created

e0c3315 refactor: add helper functions for MCP response generation

Click to expand commit body
- Add createErrorResult() and createSuccessResult() helper functions to reduce code duplication
- Add formatGoalText() helper for consistent goal text formatting
- Refactor all MCP handler functions to use helpers instead of inline response creation
- Reduces codebase by ~150 lines (23% reduction in server.go) while improving maintainability
- Provides single point of change for response format modifications
- Ensures consistent error message formatting across all handlers

Amolith created

7ca1ce6 docs: update root command to list all six MCP tools correctly

Amolith created

4bcf4fe chore(tooling): add crush config for go lsp

Click to expand commit body
This adds the initial configuration for the Crush agent,
specifically setting up the Go language server protocol (LSP) via gopls.

Amolith created

9bf4024 refactor: update MCP tools with project_management__ prefix and enhanced functionality

Click to expand commit body
- Rename all tools with project_management__ prefix for consistency
- Split goal management into set_goal and change_goal operations
- Add status filtering to get_tasks with enum support (all, pending, in_progress, completed, cancelled, failed)
- Rename update_tasks to update_task_statuses for clarity
- Add StatusCancelled to TaskStatus enum with u2297 indicator
- Update tool descriptions with explicit guidance on usage patterns
- Enhance goal methods to accept title and description separately
- Update AGENTS.md documentation to reflect new tool signatures
- Add .gitignore file to exclude .crush directory

BREAKING CHANGE: All MCP tool names now use project_management__ prefix

Amolith created

0794c14 feat: add delete_tasks tool for removing tasks by ID

Click to expand commit body
Add new MCP tool to delete one or more tasks by their IDs and return
the updated task list. Includes atomic validation to ensure all task
IDs exist before deleting any tasks.

Amolith created

b282be3 feat: replace update_task_status with update_tasks for batch updates

Click to expand commit body
- Replace single task update with batch task update functionality
- Add UpdateTasks method to planning manager for multiple task updates
- Update MCP tool definition to accept array of task updates
- Support both single and multiple task updates in one call
- Update documentation to reflect new update_tasks tool

Amolith created

47b42dc docs: revise README for end-user focus

Click to expand commit body
- Remove JSON examples and technical implementation details
- Focus on capabilities this provides to AI assistants
- Emphasize user benefits over technical specs
- Reorganize content around "What This Gives Your AI Assistant"

Amolith created

2852b29 feat: improve add_tasks output behavior

Click to expand commit body
- Show verbose instructions + task list when no existing tasks
- Show brief task list output when tasks already exist
- Extract shared formatting logic into reusable formatTaskList method
- Update documentation to reflect new behavior

Amolith created

bc77302 docs: enhance planning guidance in tool descriptions

Click to expand commit body
Strengthen tool descriptions to encourage better planning practices:
- Add explicit guidance to break tasks into smallest units of work
- Encourage frequent task status checks and updates
- Emphasize progress tracking throughout the planning workflow

Amolith created

8a651fd feat: include goal in task list output

Amolith created

fc2c038 implement the thing

Amolith created

eea6178 init

Amolith created