@taskless/cli 0.5.4 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -8
- package/dist/index.js +9315 -7699
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -31,44 +31,101 @@ Outputs CLI version, tool status, and login info as JSON to stdout:
|
|
|
31
31
|
|
|
32
32
|
### `taskless init`
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
Launches an interactive wizard that detects supported tool directories in the
|
|
35
|
+
current project (`.claude/`, `.opencode/`, `.cursor/`, `.agents/`), lets you
|
|
36
|
+
pick which ones to install into, and walks through the auth tradeoff before
|
|
37
|
+
writing anything. Running `taskless` with no subcommand in a TTY also launches
|
|
38
|
+
this wizard. Without a TTY, bare `taskless` prints a short context preamble
|
|
39
|
+
followed by the topic index from `taskless help`.
|
|
40
|
+
|
|
41
|
+
In v0.7+, there is exactly one skill (`taskless`) and one command (`tskl`) —
|
|
42
|
+
no opt-in selection needed.
|
|
43
|
+
|
|
44
|
+
For CI and scripted installs, pass `--no-interactive` to skip all prompts:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
taskless init # interactive wizard (default in a TTY)
|
|
48
|
+
taskless init --no-interactive # scripted install, no prompts
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
The wizard records what it installed in `.taskless/taskless.json` so later
|
|
52
|
+
runs can compute a diff and surgically remove files that are no longer
|
|
53
|
+
selected. Upgrading from v0.6 automatically removes the obsolete per-task
|
|
54
|
+
skills and commands during this diff. Cancelling the wizard at any step
|
|
55
|
+
(Ctrl-C) aborts cleanly with no filesystem changes.
|
|
35
56
|
|
|
36
57
|
### `taskless check`
|
|
37
58
|
|
|
38
59
|
Run ast-grep rules from `.taskless/rules/` against the codebase. Exits with code 1 if any error-severity matches are found.
|
|
39
60
|
|
|
40
61
|
```bash
|
|
41
|
-
taskless check # human-readable output
|
|
42
|
-
taskless check --json #
|
|
62
|
+
taskless check # human-readable output, scans whole project
|
|
63
|
+
taskless check --json # JSON output
|
|
43
64
|
```
|
|
44
65
|
|
|
66
|
+
Accepts optional positional path arguments to scan only specific files or
|
|
67
|
+
directories — useful for CI workflows that only want to check changed files.
|
|
68
|
+
Paths that don't exist on disk (e.g. files deleted in a diff) are silently
|
|
69
|
+
filtered, so raw git-diff output can be piped in directly:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
taskless check src/foo.ts src/bar.ts
|
|
73
|
+
taskless check $(git diff --name-only main...HEAD) # PR-only scan
|
|
74
|
+
taskless check $(git diff --cached --name-only) # pre-commit scan
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
If every supplied path is missing, the command exits 0 with empty results.
|
|
78
|
+
|
|
45
79
|
### `taskless auth login` / `taskless auth logout`
|
|
46
80
|
|
|
47
81
|
Authenticate with taskless.io using the device flow. Tokens are stored in `~/.config/taskless/auth.json`.
|
|
48
82
|
|
|
49
|
-
### `taskless
|
|
83
|
+
### `taskless rule create`
|
|
50
84
|
|
|
51
85
|
Generate ast-grep rules via the taskless.io API. Reads a JSON request from stdin, submits it, polls for results, and writes rule and test files to `.taskless/rules/` and `.taskless/rule-tests/`.
|
|
52
86
|
|
|
53
87
|
```bash
|
|
54
|
-
echo '{"prompt": "detect console.log usage"}' | taskless
|
|
55
|
-
echo '{"prompt": "find innerHTML assignments", "language": "typescript"}' | taskless
|
|
88
|
+
echo '{"prompt": "detect console.log usage"}' | taskless rule create
|
|
89
|
+
echo '{"prompt": "find innerHTML assignments", "language": "typescript"}' | taskless rule create --json
|
|
56
90
|
```
|
|
57
91
|
|
|
58
92
|
Requires authentication and a `.taskless/taskless.json` with `orgId` and `repositoryUrl`.
|
|
59
93
|
|
|
60
|
-
### `taskless
|
|
94
|
+
### `taskless rule delete <id>`
|
|
61
95
|
|
|
62
96
|
Remove a rule file and its associated test files from disk. No authentication required.
|
|
63
97
|
|
|
64
98
|
```bash
|
|
65
|
-
taskless
|
|
99
|
+
taskless rule delete no-console-log
|
|
66
100
|
```
|
|
67
101
|
|
|
68
102
|
### `taskless --help`
|
|
69
103
|
|
|
70
104
|
Lists available subcommands.
|
|
71
105
|
|
|
106
|
+
### `taskless help [topic]`
|
|
107
|
+
|
|
108
|
+
Returns agent-facing recipes. With no args, prints the topic index. With a
|
|
109
|
+
topic (e.g. `taskless help rule create`), prints the full step-by-step recipe
|
|
110
|
+
for that operation, including an embedded JSON Schema for any `--from` input
|
|
111
|
+
and a table of stable error codes. Append `--anonymous` to fetch the
|
|
112
|
+
local-only variant where one exists (currently `rule create`/`rule improve`).
|
|
113
|
+
|
|
114
|
+
Recipes are how the consolidated `taskless` skill stays small while still
|
|
115
|
+
covering every operation — the skill body is a router that fetches the
|
|
116
|
+
relevant recipe on demand.
|
|
117
|
+
|
|
118
|
+
### `--anonymous` flag
|
|
119
|
+
|
|
120
|
+
Recognized on every command. Behavior matrix:
|
|
121
|
+
|
|
122
|
+
- `rule create` / `rule improve` — exits with a pointer to
|
|
123
|
+
`taskless help <topic> --anonymous`. The local-only flow runs in the agent
|
|
124
|
+
per the recipe variant.
|
|
125
|
+
- `info` — skips the API/auth probe; reports local state only.
|
|
126
|
+
- `auth login` — rejected (auth commands cannot be anonymous).
|
|
127
|
+
- All others — accepted as no-op.
|
|
128
|
+
|
|
72
129
|
## For skill authors
|
|
73
130
|
|
|
74
131
|
Skills should detect the package manager by checking for lock files and invoke the CLI accordingly:
|