Tell the agents how to interact with `np` when they're in this repo.
I've noticed they try to test dev changes with the installed version and
update their normal lists with the dev version. Hopefully this helps
resolve that.
Amolith
created
6509e9e
refactor(cmd/t/u): omit goal/desc from output
Click to expand commit body
Co-authored-by: Crush <crush@charm.land>
Amolith
and
Crush
created
0e3e8f4
docs(cmd/r): update for new s instructions, polish
Refined guidance messages across session workflow commands:
- np s: expanded with detailed goal-setting instructions including title
length limits, description requirements, reference formatting, and
task management examples with multi-line syntax
- np g s: condensed to single actionable message focusing on study then
task planning
- np g u: simplified to one line about task alignment
- np r: added task creation examples with multi-line description syntax
Changes make prompts more prescriptive where needed (session start) and
more concise where appropriate (goal commands).
Co-authored-by: Crush <crush@charm.land>
Remove redundant else branches and duplicate instructions when all tasks
are complete. The completion message now only advises escalating to
operator without repeating usage patterns already shown elsewhere.
Co-authored-by: Crush <crush@charm.land>
Amolith
and
Crush
created
a600f5a
docs(cmd/s): add examples to np s error output
Click to expand commit body
Co-authored-by: Crush <crush@charm.land>
Amolith
and
Crush
created
a6f433e
fix(cmd/t): show only tasks without goal header
- Show full plan only when multiple tasks added; print 'Added'
for single task
- Recommend batch mode first in goal set help text
- Add guidance to check task list after sequential adds
Co-authored-by: Crush <crush@charm.land>
Implements: bug-8461b50
Amolith
and
Crush
created
65355ec
build(version): use extended tag when appropriate
Updated README.md and AGENTS.md to document the new batch task
capabilities:
- Task addition: np t a -t 'one' -d 'desc' -t 'two' -d 'desc'
- Status updates: np t u -i id1 -s status1 -i id2 -s status2
Clarified both single and batch patterns in workflow descriptions.
Co-authored-by: Crush <crush@charm.land>
Modified cmd/t/u.go to accept StringArray for -i (id) and -s (status)
flags,
enabling batch status updates like:
np t u -i abc123 -s completed -i def456 -s in_progress
This reduces context window usage by printing the plan once instead of
multiple times when updating several tasks.
Updated all help text across cmd/{s,r,g/s,g/u,t/a,t/u}.go to show:
- Multi-task addition examples with multi-line descriptions
- Batch status update patterns (especially completed + in_progress)
- Both single and batch operation examples side-by-side
The implementation validates ID/status count matching, processes updates
in a single transaction, and provides appropriate feedback messages for
both single-task and batch operations.
Co-authored-by: Crush <crush@charm.land>
References: bug-b529dcf
Amolith
and
Crush
created
2eb8292
fix(cmd): remove errant newline in plan output
Click to expand commit body
RenderPlan already returns string with trailing newline.
Changed Fprintln to Fprint in PrintPlan and runListTasks.
Implements: bug-ae16af8
Co-authored-by: Crush <crush@charm.land>
Amolith
and
Crush
created
4fb3d59
fix(db): move badger database into subdirectory
Click to expand commit body
The database directory ~/.config/nasin-pali now contains the badger
database at ~/.config/nasin-pali/data/ instead of being the database
itself. This provides cleaner separation and allows for potential
future configuration files in the parent directory.
Implements: bug-4b90e13
Co-authored-by: Crush <crush@charm.land>
Task commands form a cohesive feature set for managing session tasks.
- t: list tasks with optional status filter
- t a: add multiple tasks (validates title/description pairs)
- t u: update task status, title, or description (requires reason for
content changes and cancel/fail)
- All commands print plan and provide contextual next steps
Co-authored-by: Crush <crush@charm.land>
Goal commands form a cohesive feature set for managing session goals.
- g: show goal with full plan
- g s: set goal (requires title and description)
- g u: update goal (requires reason and at least one change)
- All commands print plan and provide contextual next steps
Co-authored-by: Crush <crush@charm.land>
Start command is the entry point for creating directory-scoped sessions.
- Replace stub with full implementation
- Handle AlreadyActiveError with helpful message
- Print next steps after session creation
Co-authored-by: Crush <crush@charm.land>
Root command bootstraps environment for all subcommands.
- Add PersistentPreRunE to open environment
- Add PersistentPostRunE to close environment
- Register all top-level commands
- Set SilenceUsage to avoid double error output
Co-authored-by: Crush <crush@charm.land>
All CLI commands need shared foundation for environment management, plan
rendering, and common helpers.
- Add Environment with DB and store wrappers
- Add plan rendering with status icons
- Add shared command helpers (Environment, ActiveSession, PrintPlan,
CommandString)
- Add db_test.go for database tests
Co-authored-by: Crush <crush@charm.land>
Session store now exposes transactional helpers for CLI commands to
coordinate updates across goal/task/event stores atomically.
- Add WithTxn() to create TxnStore
- Add TxnStore with Load() and TouchAt() methods
- Refactor internal loadDocument() helper for reuse
- Add TestTxnStoreTouchAt
Co-authored-by: Crush <crush@charm.land>
Amolith
and
Crush
created
35c9633
chore(build): add install task to justfile
Implements Store with Start, Get, Archive, and ActiveByPath operations.
Sessions use ULID-based identifiers and track state transitions between
active and archived.
Co-authored-by: Crush <crush@charm.land>
Introduces event, goal, and task storage subsystems built on Badger:
- event: append-only log with typed payloads for state changes
- goal: CRUD operations for session goals with event tracking
- task: full lifecycle management with status indexing
- testutil: helpers for deterministic test clocks and databases
- timeutil: clock abstraction for testability
All packages include comprehensive test coverage.
Co-authored-by: Crush <crush@charm.land>
59b1849
fix(db): fix View txn and improve defaults
Click to expand commit body
Fix View transaction to return nil on success instead of ctx.Err(),
which
caused spurious failures when a context deadline was set but the
operation
completed successfully before expiration.
Improve configuration defaults for CLI durability:
- Default SyncWrites to true to ensure planning state persists across
crashes
- Use os.UserConfigDir() instead of custom platform logic for better
cross-platform config directory handling
Code cleanup:
- Remove redundant txn.Discard() after successful commit
- Rename suffixTasks to suffixTask for singular/plural consistency
- Fix KeyString doc to correctly state it allocates
- Remove unused ctx assignment in View
Signed-off-by: Crush <crush@charm.land>