@taskless/cli 0.6.0 → 0.8.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 +79 -14
- package/dist/index.js +6704 -6406
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -32,14 +32,23 @@ Outputs CLI version, tool status, and login info as JSON to stdout:
|
|
|
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/`),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
current project (`.claude/`, `.opencode/`, `.cursor/`, `.agents/`), asks which
|
|
36
|
+
tools to enable Taskless for, 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`.
|
|
39
40
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
In v0.7+, there is exactly one skill (`taskless`) and one command (`tskl`) —
|
|
42
|
+
no opt-in selection needed.
|
|
43
|
+
|
|
44
|
+
The skill and command content is written **once** to a canonical store in
|
|
45
|
+
`.taskless/skills/` and `.taskless/commands/`. Each enabled tool directory
|
|
46
|
+
receives only a thin reference stub — an ordinary file with a delegating body,
|
|
47
|
+
never a symlink — so there is a single source of truth and no drift between
|
|
48
|
+
copies. Stale layouts from earlier versions (full per-tool copies, symlinks)
|
|
49
|
+
are converged into stubs automatically on the next `init`/`update`.
|
|
50
|
+
|
|
51
|
+
For CI and scripted installs, pass `--no-interactive` to skip all prompts:
|
|
43
52
|
|
|
44
53
|
```bash
|
|
45
54
|
taskless init # interactive wizard (default in a TTY)
|
|
@@ -48,8 +57,41 @@ taskless init --no-interactive # scripted install, no prompts
|
|
|
48
57
|
|
|
49
58
|
The wizard records what it installed in `.taskless/taskless.json` so later
|
|
50
59
|
runs can compute a diff and surgically remove files that are no longer
|
|
51
|
-
selected.
|
|
52
|
-
|
|
60
|
+
selected. Upgrading from v0.6 automatically removes the obsolete per-task
|
|
61
|
+
skills and commands during this diff. Cancelling the wizard at any step
|
|
62
|
+
(Ctrl-C) aborts cleanly with no filesystem changes.
|
|
63
|
+
|
|
64
|
+
### `taskless onboard`
|
|
65
|
+
|
|
66
|
+
Post-install discovery flow that helps a fresh user go from zero rules to a
|
|
67
|
+
useful starter set. Run it after `taskless init`. The CLI prints an
|
|
68
|
+
agent-facing recipe that walks the host AI tool through scanning the
|
|
69
|
+
codebase, agent-memory files (CLAUDE.md / AGENTS.md / .cursorrules),
|
|
70
|
+
recent PR review comments (when `gh` is available), and issue tracker
|
|
71
|
+
tickets (when a relevant MCP is wired in) for high-signal rule
|
|
72
|
+
candidates, then surfaces them as a bullet list the user can choose to
|
|
73
|
+
materialize via `taskless rule create`.
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
taskless onboard # print the recipe (refused if already complete)
|
|
77
|
+
taskless onboard --force # re-run even when previously marked complete
|
|
78
|
+
taskless onboard --mark-complete # record completion in .taskless/taskless.json
|
|
79
|
+
# (invoked by the agent after explicit user
|
|
80
|
+
# confirmation; never automatically)
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Onboarding state lives in `.taskless/taskless.json` as
|
|
84
|
+
`install.onboarded` — a 3-state optional field (absent / `false` / `true`).
|
|
85
|
+
Only the agent writes it, and only with the user's explicit confirmation.
|
|
86
|
+
`taskless init` does not set it. Pass `--force` to re-run regardless of the
|
|
87
|
+
current value.
|
|
88
|
+
|
|
89
|
+
After a successful `taskless init`, the CLI prints a one-line trailer
|
|
90
|
+
pointing the user at this command. The trailer wording adapts to the
|
|
91
|
+
install plan: when the install included slash commands (Claude Code or
|
|
92
|
+
Cursor), it mentions `/tskl onboard` along with the Taskless skill and the
|
|
93
|
+
bare CLI; when the install only wrote skills (OpenCode, Codex, the
|
|
94
|
+
`.agents/` fallback), it mentions the skill and the bare CLI only.
|
|
53
95
|
|
|
54
96
|
### `taskless check`
|
|
55
97
|
|
|
@@ -77,29 +119,52 @@ If every supplied path is missing, the command exits 0 with empty results.
|
|
|
77
119
|
|
|
78
120
|
Authenticate with taskless.io using the device flow. Tokens are stored in `~/.config/taskless/auth.json`.
|
|
79
121
|
|
|
80
|
-
### `taskless
|
|
122
|
+
### `taskless rule create`
|
|
81
123
|
|
|
82
124
|
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/`.
|
|
83
125
|
|
|
84
126
|
```bash
|
|
85
|
-
echo '{"prompt": "detect console.log usage"}' | taskless
|
|
86
|
-
echo '{"prompt": "find innerHTML assignments", "language": "typescript"}' | taskless
|
|
127
|
+
echo '{"prompt": "detect console.log usage"}' | taskless rule create
|
|
128
|
+
echo '{"prompt": "find innerHTML assignments", "language": "typescript"}' | taskless rule create --json
|
|
87
129
|
```
|
|
88
130
|
|
|
89
131
|
Requires authentication and a `.taskless/taskless.json` with `orgId` and `repositoryUrl`.
|
|
90
132
|
|
|
91
|
-
### `taskless
|
|
133
|
+
### `taskless rule delete <id>`
|
|
92
134
|
|
|
93
135
|
Remove a rule file and its associated test files from disk. No authentication required.
|
|
94
136
|
|
|
95
137
|
```bash
|
|
96
|
-
taskless
|
|
138
|
+
taskless rule delete no-console-log
|
|
97
139
|
```
|
|
98
140
|
|
|
99
141
|
### `taskless --help`
|
|
100
142
|
|
|
101
143
|
Lists available subcommands.
|
|
102
144
|
|
|
145
|
+
### `taskless help [topic]`
|
|
146
|
+
|
|
147
|
+
Returns agent-facing recipes. With no args, prints the topic index. With a
|
|
148
|
+
topic (e.g. `taskless help rule create`), prints the full step-by-step recipe
|
|
149
|
+
for that operation, including an embedded JSON Schema for any `--from` input
|
|
150
|
+
and a table of stable error codes. Append `--anonymous` to fetch the
|
|
151
|
+
local-only variant where one exists (currently `rule create`/`rule improve`).
|
|
152
|
+
|
|
153
|
+
Recipes are how the consolidated `taskless` skill stays small while still
|
|
154
|
+
covering every operation — the skill body is a router that fetches the
|
|
155
|
+
relevant recipe on demand.
|
|
156
|
+
|
|
157
|
+
### `--anonymous` flag
|
|
158
|
+
|
|
159
|
+
Recognized on every command. Behavior matrix:
|
|
160
|
+
|
|
161
|
+
- `rule create` / `rule improve` — exits with a pointer to
|
|
162
|
+
`taskless help <topic> --anonymous`. The local-only flow runs in the agent
|
|
163
|
+
per the recipe variant.
|
|
164
|
+
- `info` — skips the API/auth probe; reports local state only.
|
|
165
|
+
- `auth login` — rejected (auth commands cannot be anonymous).
|
|
166
|
+
- All others — accepted as no-op.
|
|
167
|
+
|
|
103
168
|
## For skill authors
|
|
104
169
|
|
|
105
170
|
Skills should detect the package manager by checking for lock files and invoke the CLI accordingly:
|