@taskset/cli 5.1.0 → 6.0.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/CHANGELOG.md +16 -0
- package/README.md +21 -22
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +28 -8
- package/docs/_meta.ts +1 -0
- package/docs/agents/_meta.ts +5 -0
- package/docs/agents/commands.md +70 -0
- package/docs/agents/index.md +99 -0
- package/docs/agents/llms.txt +28 -0
- package/docs/agents/workflows.md +50 -0
- package/docs/cli-reference.md +23 -23
- package/docs/configuration.md +33 -31
- package/docs/document-types.md +20 -17
- package/docs/getting-started.md +56 -49
- package/docs/index.md +31 -25
- package/docs/maintainers/architecture/decisions/0001-documentation-platform.md +21 -47
- package/docs/maintainers/development/contributing.md +2 -3
- package/docs/maintainers/development/documentation.md +32 -49
- package/docs/maintainers/index.md +1 -3
- package/docs/maintainers/product/vision.md +25 -33
- package/docs/task-files.md +19 -13
- package/package.json +4 -4
- package/skills/taskset/SKILL.md +43 -30
- package/skills/taskset-implement/SKILL.md +17 -11
- package/skills/taskset-implement/references/architecture/documentation-and-generated.md +3 -1
- package/skills/taskset-implement/references/architecture/ownership-and-dependencies.md +2 -1
- package/skills/taskset-implement/references/architecture/product-and-source.md +11 -10
- package/skills/taskset-implement/references/architecture/storage-and-snapshots.md +2 -2
- package/skills/taskset-implement/references/conventions/naming-and-packages.md +1 -1
- package/skills/taskset-implement/references/conventions/task-files.md +9 -4
- package/skills/taskset-implement/references/workflows/environment-and-pnpm.md +4 -3
- package/src/cli.ts +29 -10
package/docs/document-types.md
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
title:
|
|
2
|
+
title: Choose a Taskset document type
|
|
3
3
|
description: Canonical stories, flows, decisions, research, and runbooks.
|
|
4
|
+
contentType: Conceptual
|
|
5
|
+
navLabel: Document Types
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
#
|
|
8
|
+
# Choose a Taskset document type
|
|
7
9
|
|
|
8
|
-
Taskset
|
|
9
|
-
into a task lifecycle. Each type has strict common frontmatter and a body
|
|
10
|
-
template suited to its purpose. Documents use the same planning, people, path,
|
|
11
|
-
and relationship metadata fields as tasks, with document-specific statuses.
|
|
10
|
+
Documents are how Taskset keeps product and engineering memory: what to build, what you learned, what you decided, and how to recover. Use them when the material should outlive a single task. Each type has strict common frontmatter and a body template suited to its purpose. Documents share planning, people, path, and relationship fields with tasks, and use document-specific statuses.
|
|
12
11
|
|
|
13
12
|
| Type | Directory | Template focus |
|
|
14
13
|
| --- | --- | --- |
|
|
@@ -24,13 +23,15 @@ Create a document from its template:
|
|
|
24
23
|
taskset document create story --title "Member signs in via SSO"
|
|
25
24
|
taskset document create flow --title "Recover a delayed deposit"
|
|
26
25
|
taskset document create adr --title "Use transactional outbox"
|
|
27
|
-
taskset document create research --title "Evaluate queue providers" --related
|
|
26
|
+
taskset document create research --title "Evaluate queue providers" --related your_task_id_here
|
|
28
27
|
taskset document create runbook --title "Recover consumer lag"
|
|
29
28
|
```
|
|
30
29
|
|
|
31
|
-
IDs
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
Document IDs are immutable 5-6 character lowercase hex values. Filenames keep a
|
|
31
|
+
per-type display sequence and title slug, for example
|
|
32
|
+
`.taskset/flows/0000001-member-signs-in-via-sso-a1b2c3.md`. Agents and commands
|
|
33
|
+
reference the short `id`. Disposable metadata indexes for that kind live beside
|
|
34
|
+
the files in `.taskset/flows/.generated/`.
|
|
34
35
|
|
|
35
36
|
## Query And Mutation
|
|
36
37
|
|
|
@@ -82,8 +83,8 @@ safe for automation.
|
|
|
82
83
|
[
|
|
83
84
|
{ "action": "create", "input": { "type": "story", "title": "Member upgrades" } },
|
|
84
85
|
{ "action": "import", "sourcePath": "docs/flows/checkout.md", "options": { "type": "flow" } },
|
|
85
|
-
{ "action": "update", "id": "
|
|
86
|
-
{ "action": "export", "id": "
|
|
86
|
+
{ "action": "update", "id": "a1b2c3", "type": "story", "input": { "status": "ready" } },
|
|
87
|
+
{ "action": "export", "id": "a1b2c3", "type": "story", "targetPath": "exports/member-upgrades.md" }
|
|
87
88
|
]
|
|
88
89
|
```
|
|
89
90
|
|
|
@@ -93,8 +94,10 @@ taskset sync --concurrency 8
|
|
|
93
94
|
```
|
|
94
95
|
|
|
95
96
|
`taskset sync` creates missing document-kind directories inside `.taskset`,
|
|
96
|
-
migrates legacy task
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
97
|
+
migrates legacy task and document IDs to short hex IDs, normalizes
|
|
98
|
+
`{sequence}-{slug}-{id}.md` filenames, repairs duplicate sequence prefixes by
|
|
99
|
+
`createdAt`, rewrites repository text references, refreshes data `.gitignore`
|
|
100
|
+
rules for scoped `.generated/` directories, removes legacy global
|
|
101
|
+
`.taskset/generated/`, and rebuilds generated views. Build outputs,
|
|
102
|
+
dependencies, caches, snapshots, and Git internals are excluded from reference
|
|
103
|
+
rewriting.
|
package/docs/getting-started.md
CHANGED
|
@@ -1,99 +1,106 @@
|
|
|
1
1
|
---
|
|
2
|
-
title:
|
|
3
|
-
description:
|
|
2
|
+
title: Start a Taskset repository
|
|
3
|
+
description: Install the CLI, initialize `.taskset/`, and capture your first plan, decision, and task in any language repository.
|
|
4
|
+
contentType: Tutorial
|
|
5
|
+
navLabel: Getting Started
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
#
|
|
8
|
+
# Start a Taskset repository
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
current pre-alpha release is intended for local repository use.
|
|
10
|
+
This guide initializes Taskset in a repository and walks one delivery loop: capture intent, record research or a decision, then track the work. You do not need a JavaScript app, and you do not need `taskset.config.ts`.
|
|
10
11
|
|
|
11
12
|
## Requirements
|
|
12
13
|
|
|
13
|
-
- Node.js 24 or newer
|
|
14
|
-
-
|
|
14
|
+
- Node.js 24 or newer to run the published CLI
|
|
15
|
+
- Any Git repository or project root you can write to
|
|
15
16
|
|
|
16
|
-
## Install
|
|
17
|
+
## Install the CLI
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
Pick one install style:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx @taskset/cli@latest --help
|
|
23
|
+
```
|
|
20
24
|
|
|
21
25
|
```bash
|
|
22
26
|
pnpm add --save-dev @taskset/cli
|
|
23
27
|
```
|
|
24
28
|
|
|
25
|
-
|
|
29
|
+
```bash
|
|
30
|
+
npm install --global @taskset/cli
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The package exposes the `taskset` executable. Package runners work in repositories that never declare a Node dependency.
|
|
26
34
|
|
|
27
|
-
## Initialize
|
|
35
|
+
## Initialize the repository
|
|
28
36
|
|
|
29
|
-
Run
|
|
37
|
+
Run init from the repository root, or from a nested directory when Git or workspace markers identify the root:
|
|
30
38
|
|
|
31
39
|
```bash
|
|
32
|
-
|
|
40
|
+
taskset init
|
|
33
41
|
```
|
|
34
42
|
|
|
35
43
|
This creates:
|
|
36
44
|
|
|
37
45
|
```text
|
|
38
|
-
taskset.config.ts
|
|
39
46
|
.taskset/
|
|
40
47
|
├── .gitignore
|
|
41
|
-
|
|
48
|
+
├── tasks/
|
|
49
|
+
├── stories/
|
|
50
|
+
├── flows/
|
|
51
|
+
├── decisions/
|
|
52
|
+
├── research/
|
|
53
|
+
└── runbooks/
|
|
42
54
|
```
|
|
43
55
|
|
|
44
|
-
|
|
45
|
-
remains the canonical project state. The nested ignore file excludes
|
|
46
|
-
`.taskset/cache/`, per-entity `.generated/` directories, and `.taskset/snapshots/`.
|
|
47
|
-
Snapshots are non-authoritative safety checkpoints; tasks remain canonical.
|
|
48
|
-
|
|
49
|
-
## Create And Inspect Work
|
|
56
|
+
Add an optional config file only when you need custom task defaults:
|
|
50
57
|
|
|
51
58
|
```bash
|
|
52
|
-
|
|
53
|
-
pnpm taskset task list
|
|
54
|
-
pnpm taskset task show <task-id>
|
|
55
|
-
pnpm taskset task update <task-id> --status doing
|
|
59
|
+
taskset init --config
|
|
56
60
|
```
|
|
57
61
|
|
|
58
|
-
|
|
62
|
+
The nested ignore file excludes `.taskset/cache/`, per-entity `.generated/` directories, and `.taskset/snapshots/`. Snapshots are non-authoritative safety checkpoints. Markdown under `.taskset/` remains canonical.
|
|
63
|
+
|
|
64
|
+
## Capture intent, then track delivery
|
|
59
65
|
|
|
60
|
-
|
|
66
|
+
Start with the durable context, then create the task that implements it:
|
|
61
67
|
|
|
62
68
|
```bash
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
69
|
+
taskset document create story --title "Member signs in via SSO"
|
|
70
|
+
taskset document create research --title "Compare SSO providers" --related your_story_id_here
|
|
71
|
+
taskset document create adr --title "Use OIDC for member SSO" --related your_research_id_here
|
|
72
|
+
taskset task create --title "Add SSO callback handler" --related your_decision_id_here --file packages/api/src/auth.ts
|
|
73
|
+
taskset task list
|
|
74
|
+
taskset document list --json
|
|
66
75
|
```
|
|
67
76
|
|
|
68
|
-
|
|
69
|
-
matching. With `--impact`, list output groups direct matches and tasks that
|
|
70
|
-
transitively depend on them. Other filters select the direct set before graph
|
|
71
|
-
expansion. `doctor` reports all readable format and graph failures in one
|
|
72
|
-
non-mutating pass.
|
|
77
|
+
You can read every file directly in the editor without the CLI. Cite entities by short hex `id`, never by filename sequence prefixes.
|
|
73
78
|
|
|
74
|
-
##
|
|
79
|
+
## Query and validate the graph
|
|
75
80
|
|
|
76
81
|
```bash
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
82
|
+
taskset task list --status doing --label core --json
|
|
83
|
+
taskset document list research --search "SSO" --json
|
|
84
|
+
taskset task list --file packages/api --impact --json
|
|
85
|
+
taskset doctor
|
|
80
86
|
```
|
|
81
87
|
|
|
82
|
-
|
|
88
|
+
File and directory filters use repository-relative containment. With `--impact`, list output groups direct matches and work that transitively depends on them. `doctor` reports readable format and graph failures in one non-mutating pass.
|
|
83
89
|
|
|
84
|
-
##
|
|
90
|
+
## Finish or remove work
|
|
85
91
|
|
|
86
92
|
```bash
|
|
87
|
-
|
|
88
|
-
|
|
93
|
+
taskset task status your_task_id_here done
|
|
94
|
+
taskset document status your_research_id_here accepted --type research
|
|
95
|
+
taskset task delete your_task_id_here
|
|
89
96
|
```
|
|
90
97
|
|
|
91
|
-
Completed and canceled tasks are terminal. Deletion fails while another task
|
|
92
|
-
depends on the target. Use `--remove-dependencies` only when Taskset should
|
|
93
|
-
remove those inbound references and the task together.
|
|
98
|
+
Completed and canceled tasks are terminal. Deletion fails while another task depends on the target. Use `--remove-dependencies` only when Taskset should remove those inbound references and the task together.
|
|
94
99
|
|
|
95
100
|
## Next
|
|
96
101
|
|
|
97
|
-
- [
|
|
98
|
-
- [Use the complete CLI reference](cli-reference.md)
|
|
102
|
+
- [Choose a document type](document-types.md)
|
|
99
103
|
- [Understand task files](task-files.md)
|
|
104
|
+
- [Configure defaults](configuration.md)
|
|
105
|
+
- [Use the complete CLI reference](cli-reference.md)
|
|
106
|
+
- [Follow the agent guide](agents/index.md)
|
package/docs/index.md
CHANGED
|
@@ -1,37 +1,43 @@
|
|
|
1
1
|
---
|
|
2
|
-
title:
|
|
3
|
-
description:
|
|
2
|
+
title: Keep the whole delivery story beside the code
|
|
3
|
+
description: Taskset stores plans, research, decisions, runbooks, and tasks as Markdown in your repository for agents and humans.
|
|
4
|
+
contentType: Landing
|
|
5
|
+
navLabel: Overview
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
#
|
|
8
|
+
# Keep the whole delivery story beside the code
|
|
7
9
|
|
|
8
|
-
Taskset is
|
|
9
|
-
to accelerate software delivery and give development teams immediate awareness
|
|
10
|
-
of the work surrounding their code.
|
|
10
|
+
Taskset is a local-first delivery workspace. You keep stories, research, decisions, flows, runbooks, and executable tasks as Markdown under `.taskset/`, so agents and humans share one reviewable source of truth.
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
history, branches, review, and collaboration. Taskset supplies a consistent
|
|
14
|
-
domain model and interfaces over those files.
|
|
12
|
+
Install the CLI as `@taskset/cli` from npm. Run it with `npx`, `pnpm dlx`, `yarn dlx`, `bunx`, a project dependency, or a global install.
|
|
15
13
|
|
|
16
|
-
|
|
14
|
+
## What belongs in Taskset
|
|
17
15
|
|
|
18
|
-
|
|
16
|
+
- **Plan**: stories and flows that define outcomes and journeys
|
|
17
|
+
- **Learn**: research that captures evidence and recommendations
|
|
18
|
+
- **Decide**: decisions and ADRs that lock lasting choices
|
|
19
|
+
- **Operate**: runbooks that make recovery safe to repeat
|
|
20
|
+
- **Deliver**: tasks that carry ownership, status, dependencies, and code impact
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
- Developers can operate locally without a mandatory service.
|
|
22
|
-
- Humans and AI agents inspect the same project context.
|
|
23
|
-
- CLI, TUI, MCP, editor, Kanban, and reporting views share one source of truth.
|
|
24
|
-
- Monorepo projects and code relationships are first-class.
|
|
22
|
+
Documents preserve memory. Tasks move work. Relationships keep the graph honest.
|
|
25
23
|
|
|
26
|
-
##
|
|
24
|
+
## What you get
|
|
27
25
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
- Project knowledge stays in the repository it describes
|
|
27
|
+
- Markdown remains readable without Taskset installed
|
|
28
|
+
- Agents and humans inspect the same plans, decisions, and work
|
|
29
|
+
- CLI, skills, and future interfaces share one domain model
|
|
30
|
+
- Monorepo paths and code relationships are first-class
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## What the CLI covers
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
The CLI initializes repositories, manages optional configuration, creates and queries tasks and documents, runs diagnostics, builds generated views, snapshots state, and syncs the tree after upgrades or repairs.
|
|
35
|
+
|
|
36
|
+
## Choose your path
|
|
37
|
+
|
|
38
|
+
- [Start a Taskset repository](getting-started.md)
|
|
39
|
+
- [Choose a document type](document-types.md)
|
|
40
|
+
- [Understand task files](task-files.md)
|
|
41
|
+
- [Configure defaults when you need them](configuration.md)
|
|
42
|
+
- [Look up every CLI command](cli-reference.md)
|
|
43
|
+
- [Read agent workflows and contracts](agents/index.md)
|
|
@@ -1,70 +1,44 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "ADR 0001: Documentation Platform"
|
|
3
|
-
description: Render canonical
|
|
3
|
+
description: Render canonical documentation through the Taskset website for humans, agents, and maintainers.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# ADR 0001: Documentation Platform
|
|
7
7
|
|
|
8
8
|
- Status: Accepted
|
|
9
9
|
- Date: 2026-06-12
|
|
10
|
+
- Updated: 2026-10-03
|
|
10
11
|
|
|
11
12
|
## Context
|
|
12
13
|
|
|
13
|
-
Taskset needs one documentation source that is readable on Git hosts and can
|
|
14
|
-
also power a documentation website. User guidance and repository maintenance
|
|
15
|
-
material have different audiences and should remain visibly separated.
|
|
14
|
+
Taskset needs one documentation source that is readable on Git hosts and can also power a documentation website. Human usage guidance, agent operating contracts, and repository maintenance material have different audiences and should remain visibly separated.
|
|
16
15
|
|
|
17
16
|
## Decision
|
|
18
17
|
|
|
19
|
-
- Keep canonical
|
|
20
|
-
- Keep
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
- Render top-level usage docs and `docs/maintainers/` through separate route
|
|
28
|
-
|
|
29
|
-
-
|
|
30
|
-
- Isolate usage docs, maintainer docs, and blog layouts and MDX component sets
|
|
31
|
-
by route.
|
|
32
|
-
- Keep the Nextra configuration and layout close to the upstream defaults.
|
|
33
|
-
|
|
34
|
-
Nextra supports App Router content-directory routing and typed `_meta.ts`
|
|
35
|
-
navigation:
|
|
36
|
-
|
|
37
|
-
- <https://nextra.site/docs/file-conventions/content-directory>
|
|
38
|
-
- <https://nextra.site/docs/docs-theme/start>
|
|
18
|
+
- Keep canonical documentation in the root `docs/` directory
|
|
19
|
+
- Keep human usage pages at the top level of `docs/`
|
|
20
|
+
- Keep agent operating guidance under `docs/agents/`, with root `AGENTS.md` and packaged `skills/` as offline entrypoints
|
|
21
|
+
- Keep contributor, product, architecture, ADR, testing, and technology material under `docs/maintainers/`
|
|
22
|
+
- Publish an agent discovery index at `apps/www/public/llms.txt` (served as `/llms.txt`); copy it into the packaged CLI docs for offline use
|
|
23
|
+
- Use plain Markdown by default and MDX only for interactive pages
|
|
24
|
+
- Build `apps/www` with Next.js App Router, Nextra, and the stock Nextra docs and blog themes
|
|
25
|
+
- Expose root `docs/` as the app’s Nextra `content` directory through a repository-relative symlink
|
|
26
|
+
- Render top-level usage docs (including `docs/agents/`) and `docs/maintainers/` through separate route layouts and page maps
|
|
27
|
+
- Keep chronological release and project posts under `apps/www/posts/`
|
|
28
|
+
- Follow the [Vercel writing guidelines](https://github.com/vercel-labs/writing-guidelines) for public prose voice and structure
|
|
39
29
|
|
|
40
30
|
## Why
|
|
41
31
|
|
|
42
|
-
This
|
|
43
|
-
without a custom content loader, and keeps user documentation readable in its
|
|
44
|
-
canonical location. Moving maintainer material into a dedicated
|
|
45
|
-
`docs/maintainers/` section prevents the root README and user pages from
|
|
46
|
-
becoming contributor handbooks.
|
|
32
|
+
This keeps one Markdown source of truth while matching how agent-first tools expose denser contracts beside human onboarding. Maintainer material stays out of the primary product navigation. Agent pages and `llms.txt` give coding agents a short index without inventing a second product truth.
|
|
47
33
|
|
|
48
34
|
## Implementation Contract
|
|
49
35
|
|
|
50
|
-
`apps/www/content` points to `../../docs`. The usage docs catch-all route loads
|
|
51
|
-
top-level content and excludes `docs/maintainers/` from its page map. The
|
|
52
|
-
`/maintainers` route loads the same content directory with a maintainer-rooted
|
|
53
|
-
page map. The app may generate `.next/`, search data, and static output, but
|
|
54
|
-
none of those become documentation source.
|
|
55
|
-
|
|
56
|
-
`apps/www/posts/` is the source for blog Markdown. An app-local registry maps
|
|
57
|
-
each post to `/posts/[slug]` so static export can enumerate routes without
|
|
58
|
-
copying posts into `docs/`. The global MDX component file contains only base
|
|
59
|
-
Nextra components; docs and blog routes apply their own theme components.
|
|
36
|
+
`apps/www/content` points to `../../docs`. The usage docs catch-all route loads top-level content, including `docs/agents/`, and excludes `docs/maintainers/` from its page map. The `/maintainers` route loads the same content directory with a maintainer-rooted page map. Root `AGENTS.md` is repository-local agent guidance and may be linked from docs, but docs remain canonical for published pages. Do not place non-Markdown discovery files such as `llms.txt` under `docs/`; Nextra imports the content tree as modules and only Markdown/MDX pages belong there.
|
|
60
37
|
|
|
61
38
|
## Consequences
|
|
62
39
|
|
|
63
|
-
- Documentation changes are reviewable without building the site
|
|
64
|
-
- Blog posts are reviewable as app-local Markdown without a CMS
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
- Maintainer documentation is reviewed from `docs/maintainers/` and remains in
|
|
69
|
-
its own `/maintainers` navigation section.
|
|
70
|
-
- Broken links and invalid frontmatter should fail CI.
|
|
40
|
+
- Documentation changes are reviewable without building the site
|
|
41
|
+
- Blog posts are reviewable as app-local Markdown without a CMS
|
|
42
|
+
- New agent pages belong under `docs/agents/` and appear in usage navigation
|
|
43
|
+
- Maintainer documentation remains in its own `/maintainers` navigation section
|
|
44
|
+
- Broken links and invalid frontmatter should fail CI
|
|
@@ -5,8 +5,7 @@ description: Repository setup, Taskset dogfooding, pull requests, and completion
|
|
|
5
5
|
|
|
6
6
|
# Contributing
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
expanding the number of interfaces.
|
|
8
|
+
Keep the core file format and workflow coherent when you change interfaces, packages, or docs.
|
|
10
9
|
|
|
11
10
|
## Start Here
|
|
12
11
|
|
|
@@ -27,7 +26,7 @@ Use the Node and pnpm versions declared by `.nvmrc` and `packageManager`.
|
|
|
27
26
|
|
|
28
27
|
## Develop Taskset With Taskset
|
|
29
28
|
|
|
30
|
-
The repository dogfoods Taskset. Use the root `taskset.config.ts`, the CLI, and
|
|
29
|
+
The repository dogfoods Taskset. Use the root `.taskset/` data, optional `taskset.config.ts`, the CLI, and
|
|
31
30
|
canonical `.taskset/tasks/` files to plan and inspect work. When the CLI
|
|
32
31
|
supports the required operation, update the task through the CLI instead of
|
|
33
32
|
editing generated or derived state.
|
|
@@ -1,69 +1,52 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Documentation
|
|
3
|
-
description: How
|
|
3
|
+
description: How Markdown becomes the Taskset documentation website for humans, agents, and maintainers.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Documentation
|
|
7
7
|
|
|
8
|
-
The root `docs/` directory is canonical
|
|
9
|
-
guidance. Top-level pages are for users. Repository maintenance material belongs
|
|
10
|
-
under `docs/maintainers/`.
|
|
8
|
+
The root `docs/` directory is canonical. Split audiences deliberately:
|
|
11
9
|
|
|
12
|
-
|
|
10
|
+
- Humans: top-level usage pages
|
|
11
|
+
- Agents: `docs/agents/`, root `AGENTS.md`, and packaged `skills/`
|
|
12
|
+
- Maintainers: `docs/maintainers/`
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
Follow the [Vercel writing guidelines](https://github.com/vercel-labs/writing-guidelines) for public prose.
|
|
15
|
+
|
|
16
|
+
## Recommended website stack
|
|
17
|
+
|
|
18
|
+
Use Next.js App Router, Nextra, `nextra-theme-docs`, and `nextra-theme-blog` in `apps/www`.
|
|
16
19
|
|
|
17
20
|
Why:
|
|
18
21
|
|
|
19
22
|
- `apps/www` owns the public documentation renderer
|
|
20
23
|
- the repository already has a Next.js TypeScript preset
|
|
21
|
-
- Nextra supplies Markdown routing, documentation navigation, blog layout, and
|
|
22
|
-
search
|
|
24
|
+
- Nextra supplies Markdown routing, documentation navigation, blog layout, and search
|
|
23
25
|
- Markdown remains the source rather than a CMS database
|
|
24
26
|
|
|
25
|
-
## Content
|
|
26
|
-
|
|
27
|
-
- Use `.md` unless the page needs an interactive component
|
|
28
|
-
- Add `title` and `
|
|
29
|
-
- Keep conceptual pages separate from current command reference
|
|
30
|
-
- Mark future behavior as planned
|
|
31
|
-
- Link to source files with repository-relative paths
|
|
32
|
-
- Keep generated API reference separate from hand-authored concepts
|
|
33
|
-
- Keep architecture, ADRs, development workflows, and technology preferences
|
|
34
|
-
|
|
35
|
-
- Keep
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
|
|
27
|
+
## Content rules
|
|
28
|
+
|
|
29
|
+
- Use `.md` unless the page needs an interactive component
|
|
30
|
+
- Add `title`, `description`, and `contentType` frontmatter for usage and agent pages
|
|
31
|
+
- Keep conceptual pages separate from current command reference
|
|
32
|
+
- Mark future behavior as planned
|
|
33
|
+
- Link to source files with repository-relative paths
|
|
34
|
+
- Keep generated API reference separate from hand-authored concepts
|
|
35
|
+
- Keep architecture, ADRs, development workflows, and technology preferences under `docs/maintainers/`
|
|
36
|
+
- Keep agent operating contracts under `docs/agents/`
|
|
37
|
+
- Keep `/llms.txt` in `apps/www/public/llms.txt`, not under `docs/`, so Nextra does not import it as a page module
|
|
38
|
+
- Keep chronological release and project posts under `apps/www/posts/`
|
|
39
|
+
- Require `title`, `description`, and `date` frontmatter for blog posts
|
|
40
|
+
- Register each post in `apps/www/src/blog/posts.ts` so the static build can enumerate `/posts/[slug]`
|
|
39
41
|
|
|
40
42
|
## Integration
|
|
41
43
|
|
|
42
|
-
`apps/www/content` is a repository-relative symlink to `../../docs`. Nextra
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
Usage docs, maintainer docs, and blog pages use separate route layouts and
|
|
50
|
-
receive their own MDX component sets. Do not merge docs and blog themes in the
|
|
51
|
-
global `mdx-components.tsx`; their wrapper components own different page
|
|
52
|
-
contracts. Blog Markdown is loaded from `apps/www/posts/` through the app-local
|
|
53
|
-
post registry.
|
|
54
|
-
|
|
55
|
-
Run the Next.js development and production builds in webpack mode. Turbopack
|
|
56
|
-
does not reliably discover newly added Markdown through the external content
|
|
57
|
-
symlink.
|
|
58
|
-
|
|
59
|
-
Keep stable public site metadata such as `docsRepositoryBase` in the owning app
|
|
60
|
-
configuration. Do not add a root `.env` for a non-secret constant. Use an
|
|
61
|
-
app-local environment variable and checked-in `.env.example` only when a value
|
|
62
|
-
genuinely differs by deployment.
|
|
63
|
-
|
|
64
|
-
The website may generate `.next/`, search data, and build output. These are
|
|
65
|
-
derived and ignored. Root `docs/` Markdown remains authoritative for
|
|
66
|
-
documentation, and `apps/www/posts/` Markdown remains authoritative for blog
|
|
67
|
-
posts.
|
|
44
|
+
`apps/www/content` is a repository-relative symlink to `../../docs`. Nextra’s standard content-directory loader renders that source without copying it. The top-level usage docs route filters `docs/maintainers/` out of its primary navigation, and the dedicated `/maintainers` route renders maintainer Markdown with its own page map.
|
|
45
|
+
|
|
46
|
+
Usage docs, maintainer docs, and blog pages use separate route layouts and receive their own MDX component sets. Do not merge docs and blog themes in the global `mdx-components.tsx`.
|
|
47
|
+
|
|
48
|
+
Run the Next.js development and production builds in webpack mode. Turbopack does not reliably discover newly added Markdown through the external content symlink.
|
|
49
|
+
|
|
50
|
+
The website may generate `.next/`, search data, and build output. These are derived and ignored. Root `docs/` Markdown remains authoritative for documentation, and `apps/www/posts/` Markdown remains authoritative for blog posts.
|
|
68
51
|
|
|
69
52
|
See [ADR 0001](../architecture/decisions/0001-documentation-platform.md).
|
|
@@ -5,9 +5,7 @@ description: Repository maintenance documentation for Taskset contributors.
|
|
|
5
5
|
|
|
6
6
|
# Taskset Maintainer Documentation
|
|
7
7
|
|
|
8
|
-
This section contains repository maintenance material. It
|
|
9
|
-
separate from the primary user guides while remaining available in the same
|
|
10
|
-
Nextra documentation site.
|
|
8
|
+
This section contains repository maintenance material for the Taskset delivery workspace. It stays separate from the primary human and agent guides while remaining available in the same Nextra documentation site.
|
|
11
9
|
|
|
12
10
|
## Contents
|
|
13
11
|
|
|
@@ -7,9 +7,7 @@ description: Maintainer-facing product direction for Taskset.
|
|
|
7
7
|
|
|
8
8
|
## Origin
|
|
9
9
|
|
|
10
|
-
Taskset began from a
|
|
11
|
-
code so developers and AI assistants can understand work immediately without
|
|
12
|
-
switching to a disconnected project-management database.
|
|
10
|
+
Taskset began from a need to keep delivery context offline and inline with the code. Tasks alone were not enough. Teams and agents also needed stories, research, decisions, flows, and runbooks that travel with the repository instead of living in a disconnected project-management database.
|
|
13
11
|
|
|
14
12
|
## Vision
|
|
15
13
|
|
|
@@ -17,18 +15,15 @@ Taskset aims to become the Git-native operating system for software delivery.
|
|
|
17
15
|
|
|
18
16
|
## Mission
|
|
19
17
|
|
|
20
|
-
Store planning,
|
|
21
|
-
files, then provide focused interfaces over that shared task graph.
|
|
18
|
+
Store planning, learning, decisions, operations, and execution as human-readable repository files, then provide focused interfaces over that shared work graph.
|
|
22
19
|
|
|
23
20
|
## Product Goals
|
|
24
21
|
|
|
25
|
-
- Accelerate delivery by reducing context switching
|
|
26
|
-
- Give developers immediate awareness of related tasks, dependencies, specs,
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
- Let managers and stakeholders view repository-backed information without
|
|
31
|
-
creating another source of truth.
|
|
22
|
+
- Accelerate delivery by reducing context switching
|
|
23
|
+
- Give developers immediate awareness of related tasks, dependencies, specs, decisions, and releases
|
|
24
|
+
- Give AI systems direct, structured, reviewable project context across plans and execution
|
|
25
|
+
- Make monorepos, packages, applications, and code paths first-class
|
|
26
|
+
- Let managers and stakeholders view repository-backed information without creating another source of truth
|
|
32
27
|
|
|
33
28
|
## Principles
|
|
34
29
|
|
|
@@ -38,39 +33,36 @@ Core workflows must work from a local repository without a network service.
|
|
|
38
33
|
|
|
39
34
|
### Inline with code
|
|
40
35
|
|
|
41
|
-
Project context belongs beside the code it affects and travels with the
|
|
42
|
-
repository.
|
|
36
|
+
Project context belongs beside the code it affects and travels with the repository.
|
|
43
37
|
|
|
44
38
|
### Human and AI readable
|
|
45
39
|
|
|
46
|
-
Markdown carries durable prose. Structured frontmatter carries data that tools
|
|
47
|
-
can validate and query.
|
|
40
|
+
Markdown carries durable prose. Structured frontmatter carries data that tools can validate and query.
|
|
48
41
|
|
|
49
42
|
### Git native
|
|
50
43
|
|
|
51
|
-
Commits, branches, pull requests, diffs, and reviews are normal collaboration
|
|
52
|
-
mechanisms.
|
|
44
|
+
Commits, branches, pull requests, diffs, and reviews are normal collaboration mechanisms.
|
|
53
45
|
|
|
54
46
|
### One source of truth
|
|
55
47
|
|
|
56
|
-
Every interface reads and changes the same canonical `.taskset/` files through
|
|
57
|
-
the same domain rules.
|
|
48
|
+
Every interface reads and changes the same canonical `.taskset/` files through the same domain rules.
|
|
58
49
|
|
|
59
|
-
###
|
|
50
|
+
### Agent first, human readable
|
|
60
51
|
|
|
61
|
-
Taskset
|
|
52
|
+
Taskset optimizes distribution, discovery, and docs for agent operators while keeping Markdown reviewable by humans.
|
|
62
53
|
|
|
63
|
-
|
|
54
|
+
### Memory and execution together
|
|
64
55
|
|
|
65
|
-
|
|
56
|
+
Documents preserve product and engineering memory. Tasks carry ownership, status, and delivery. Relationships bind them into one graph.
|
|
66
57
|
|
|
67
|
-
|
|
68
|
-
- task creation, listing, display, editing, and removal
|
|
69
|
-
- lifecycle transitions
|
|
70
|
-
- deterministic Markdown parsing and serialization
|
|
71
|
-
- validation and repository diagnostics
|
|
72
|
-
- basic search and filtering
|
|
73
|
-
- dependency integrity
|
|
58
|
+
## Current product surface
|
|
74
59
|
|
|
75
|
-
|
|
76
|
-
|
|
60
|
+
The current surface includes:
|
|
61
|
+
|
|
62
|
+
- repository initialization and optional configuration
|
|
63
|
+
- tasks with lifecycle, dependencies, search, and impact queries
|
|
64
|
+
- stories, flows, decisions, research, and runbooks with the same query and mutation family
|
|
65
|
+
- validation, diagnostics, generated views, snapshots, and sync
|
|
66
|
+
- packaged agent skills and dual-audience documentation
|
|
67
|
+
|
|
68
|
+
TUI, MCP, extension, Kanban, Office, and integrations build on the same file and core contracts.
|