Fix assignee filter bug in List

This commit is contained in:
2026-03-29 18:58:34 +02:00
parent 9e8c37564f
commit 13b4c4b651
22 changed files with 939 additions and 555 deletions

View File

@@ -12,7 +12,7 @@ single portable binary, built from ~1300 lines of Go code.
- **Thread-safe** - WAL mode for concurrent access
- **Multiuser support** - @mentions and assignments, inbox per user
- **JSON output** - all commands support `--json` for agent integration
- **Alias system** - define custom command shortcuts
- **Alias system** - define custom command shortcuts with argument expansion
- **Single binary** - no dependencies, portable `.ax.db` file
## Installation
@@ -46,7 +46,7 @@ ax update abc12 --status done
ax inbox
# Define an alias
ax alias mywork "list --namespace myproject --status open"
ax alias mywork "list --namespace myproject --status open" --desc "My project tasks"
```
## Commands
@@ -101,8 +101,7 @@ Query and list nodes.
| `--status` | Filter by status |
| `--prio` | Filter by priority |
| `--namespace` | Filter by namespace |
| `--tag` | Filter by tag |
| `--inbox` | Filter by inbox user |
| `--tag` | Filter by tag (repeatable) |
| `--assignee` | Filter by assignee |
### `ax edit <id>`
@@ -117,14 +116,38 @@ Delete a node. Prompts for confirmation unless `--force`.
Show issues in current user's inbox (from @mentions).
### `ax alias [name] [command]`
### `ax alias [name] [command] [flags]`
Manage aliases.
```bash
ax alias myinbox "list --inbox me"
ax alias --list
ax alias myinbox # show alias command
ax alias # list all aliases
ax alias mywork "list --tag work" # create alias
ax alias mywork # show alias command
ax alias mywork "list --tag work2" # update alias
ax alias delete mywork # delete alias
```
**Default aliases:**
| Alias | Command | Description |
|-------|---------|-------------|
| `mine` | `list --assignee $me --tag _status::open` | Show open tasks assigned to you |
| `due` | `list --tag _status::open --tag _due` | Show open tasks with due dates |
| `new` | `create $@` | Create a new task |
**Alias argument expansion:**
| Variable | Expands to |
|----------|------------|
| `$me` | Current username |
| `$@` | All arguments |
| `$1`, `$2`, ... | Positional arguments |
```bash
# Create alias with argument expansion
ax alias find "list --tag $1 --status $2"
ax find backend open # expands to: list --tag backend --status open
```
## Relations
@@ -210,6 +233,22 @@ Example output:
}
```
## Configuration
`ax` stores user configuration in a JSON file. It searches for `.axconfig` in the
current directory and parent directories (like git finds `.git`), falling back to
`~/.config/ax/config.json`.
**Config file format:**
```json
{
"user": "alice",
"aliases": [
{"name": "mywork", "command": "list --namespace myproject", "description": "My tasks"}
]
}
```
## Database Location
`ax` searches for `.ax.db` in the current directory and parent directories,