@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.
Files changed (3) hide show
  1. package/README.md +65 -8
  2. package/dist/index.js +9315 -7699
  3. 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
- Install or update Taskless skills into detected tool directories (e.g. `.claude/`).
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 # JSONL output
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 rules create`
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 rules create
55
- echo '{"prompt": "find innerHTML assignments", "language": "typescript"}' | taskless rules create --json
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 rules delete <id>`
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 rules delete no-console-log
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: