@taskless/cli 0.7.0 → 0.8.1

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 +41 -2
  2. package/dist/index.js +5133 -4725
  3. package/package.json +3 -1
package/README.md CHANGED
@@ -32,8 +32,8 @@ 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/`), lets you
36
- pick which ones to install into, and walks through the auth tradeoff before
35
+ current project (`.claude/`, `.opencode/`, `.cursor/`, `.agents/`), asks which
36
+ tools to enable Taskless for, and walks through the auth tradeoff before
37
37
  writing anything. Running `taskless` with no subcommand in a TTY also launches
38
38
  this wizard. Without a TTY, bare `taskless` prints a short context preamble
39
39
  followed by the topic index from `taskless help`.
@@ -41,6 +41,13 @@ followed by the topic index from `taskless help`.
41
41
  In v0.7+, there is exactly one skill (`taskless`) and one command (`tskl`) —
42
42
  no opt-in selection needed.
43
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
+
44
51
  For CI and scripted installs, pass `--no-interactive` to skip all prompts:
45
52
 
46
53
  ```bash
@@ -54,6 +61,38 @@ selected. Upgrading from v0.6 automatically removes the obsolete per-task
54
61
  skills and commands during this diff. Cancelling the wizard at any step
55
62
  (Ctrl-C) aborts cleanly with no filesystem changes.
56
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.
95
+
57
96
  ### `taskless check`
58
97
 
59
98
  Run ast-grep rules from `.taskless/rules/` against the codebase. Exits with code 1 if any error-severity matches are found.