Go client library for Lunatask.app
0

Configure Feed

Select the types of activity you want to include in your feed.

Tags

v0.2.0
d37c5ddd Amolith

Move module to secluded.site

⚠️ BREAKING CHANGES

- [module]: moved from git.secluded.site/go-lunatask to
secluded.site/go-lunatask. Replace the old import path, then run:

go get secluded.site/go-lunatask@v0.2.0
go mod tidy

Artifacts

Initial release

Artifacts

v0.1.0-rc9.3 Added enum helpers and status mapping

✨ Features
- [enum]: added All*() enumeration functions for core types
- [enum]: mapped "in-progress" status to API "started" format

📚 Documentation
- added license information for go.sum

Artifacts

v0.1.0-rc9.2 Added Workflow types and helpers

✨ Features

- workflow: added Workflow types supporting priority_list, now_later,
kanban, plan_your_days, must_should_want, and eisenhower
- workflow: included helper methods for field relevance and
human-readable descriptions for MCP/LLM consumption

Artifacts

v0.1.0-rc9.1 Added task filtering and deep linking

✨ Features
- [filter]: add FilterTasks and IsOldCompleted functions to
consolidate task list filtering logic
- [deeplink]: add ParseReference with improved error messages and
deprecate ParseDeepLink

🧪 Tests
- [integration]: add workflow metadata tests covering Eisenhower,
kanban status, and field preservation

Artifacts

v0.1.0-rc10 Better parsing

✨ Features
- deeplink: Add UUID validation and helpers. Validate UUIDs in both parse
and build operations with `Resource.Valid()` and `Resource.String()`.
- eisenhower: Add `ParseEisenhower` function to parse "do-now",
"delegate", or numeric "0"-"4" to Eisenhower quadrants. Includes
`ErrInvalidEisenhower`.
- Add `String()` methods to enum types `Motivation`, `TaskStatus`, and
`RelationshipStrength` for consistency.
- relationship: Add `ParseRelationshipStrength` with case-insensitive
parsing for all 7 values.
- deeplink: Add `ParseDeepLink`/`BuildDeepLink` functions. Introduce
`Resource` type with 6 constants and allow parsing of
`lunatask://resource/uuid` or plain UUID.
- motivation: Add `ParseMotivation` function for case-insensitive parsing
of unknown/must/should/want values.
- status: Add `ParseTaskStatus` function for case-insensitive parsing of
task status strings. Matches `ParsePriority` pattern.

♻️ Code Refactoring
- Move enum types `Motivation`, `TaskStatus`, `RelationshipStrength` and
their constants from `types.go` to dedicated files. `types.go` now
contains only `Source` and `Date`.
- status: Rename 'Started' to 'InProgress' to match Lunatask UI. Wire
format remains "started" but also accepts "in-progress" as input.
- eisenhower: Extract `Eisenhower` type, constants, and methods from
`types.go` to `eisenhower.go`. Add `String()` method for human-readable
quadrant descriptions.

Artifacts

v0.1.0-rc9 Added typed task Priority API

✨ Features
- tasks: Introduce typed Priority API for enhanced type safety.
Replaces *int with *Priority, requiring method signature changes
(e.g., WithPriority(int) to Priority(Priority) on task builders).
Includes new Priority constants, String()/Valid() methods,
ParsePriority(), JSON marshal/unmarshal support, and sentinel errors
(ErrInvalidPriority, ErrPriorityOutOfRange).

Artifacts

v0.1.0-rc8 Improve Eisenhower, support update person

✨ Features
- tasks: Introduce Eisenhower semantic builder API
Replaces raw int Eisenhower values with typed Eisenhower constants
and adds intuitive builder methods (.Important(), .Urgent(),
.NotImportant(), .NotUrgent()) that compute the correct quadrant at
create/update time. Consumers can now use:
client.NewTask("x").Important().Urgent().Create(ctx) // DoNow
client.NewTask("x").Important().Create(ctx) // DoLater
Reading tasks also benefits from helper methods:
task.Eisenhower.IsImportant()
task.Eisenhower.IsUrgent()
- people: Add update person endpoint

🧪 Tests
- integration: Add live API validation tests Adds build-tagged
integration tests that run against the live Lunatask API. Requires
LUNATASK_API_KEY and LUNATASK_TEST_AREA environment variables. Tests
cover ping, list operations, and full create/read/update/delete
round-trips for tasks and notes. Also excludes dupl and goconst
linters from test files and updates coverage badge.

Artifacts

v0.1.0-rc7 Client builder API updated

⚠️ BREAKING CHANGES
- client: Builders are now created via client.NewX() instead
of lunatask.NewX(). Create/Update methods no longer require
a client parameter directly.
Migration:
Before: lunatask.NewTask("x").Create(ctx, client)
After: client.NewTask("x").Create(ctx)

♻️ Code Refactoring
- (client): Moved builders to Client methods for better client
ownership and API ergonomics.

🔧 Build System
- chore: Removed exhaustruct linter.

Artifacts

v0.1.0-rc6 Refactor implementation

API should be mostly the same

Artifacts

v0.1.0-rc5 Add TaskStatus and Motivation types

✨ Features
- tasks: Add new types for TaskStatus and Motivation. Replaced raw
strings with typed constants

📚 Documentation
- Fix PersonBuilder example to use RelationshipCloseFriend constant
- Add godoc links for RelationshipCloseFriend, ErrUnauthorized

Artifacts

v0.1.0-rc4 Just README changes

Tag is to push an update to pkg.go.dev and godocs.io

Artifacts

v0.1.0-rc3 Maybe fix pkg.go.dev compat

- use real LICENSE file, not symlink, because Go module zips strip
symlinks entirely.

Artifacts

v0.1.0-rc2 Fix pkg.go.dev compat

- Add LICENSE symlink for pkg.go.dev

Artifacts

v0.1.0-rc1 Initial release

Artifacts