@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.
Files changed (32) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +21 -22
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +28 -8
  5. package/docs/_meta.ts +1 -0
  6. package/docs/agents/_meta.ts +5 -0
  7. package/docs/agents/commands.md +70 -0
  8. package/docs/agents/index.md +99 -0
  9. package/docs/agents/llms.txt +28 -0
  10. package/docs/agents/workflows.md +50 -0
  11. package/docs/cli-reference.md +23 -23
  12. package/docs/configuration.md +33 -31
  13. package/docs/document-types.md +20 -17
  14. package/docs/getting-started.md +56 -49
  15. package/docs/index.md +31 -25
  16. package/docs/maintainers/architecture/decisions/0001-documentation-platform.md +21 -47
  17. package/docs/maintainers/development/contributing.md +2 -3
  18. package/docs/maintainers/development/documentation.md +32 -49
  19. package/docs/maintainers/index.md +1 -3
  20. package/docs/maintainers/product/vision.md +25 -33
  21. package/docs/task-files.md +19 -13
  22. package/package.json +4 -4
  23. package/skills/taskset/SKILL.md +43 -30
  24. package/skills/taskset-implement/SKILL.md +17 -11
  25. package/skills/taskset-implement/references/architecture/documentation-and-generated.md +3 -1
  26. package/skills/taskset-implement/references/architecture/ownership-and-dependencies.md +2 -1
  27. package/skills/taskset-implement/references/architecture/product-and-source.md +11 -10
  28. package/skills/taskset-implement/references/architecture/storage-and-snapshots.md +2 -2
  29. package/skills/taskset-implement/references/conventions/naming-and-packages.md +1 -1
  30. package/skills/taskset-implement/references/conventions/task-files.md +9 -4
  31. package/skills/taskset-implement/references/workflows/environment-and-pnpm.md +4 -3
  32. package/src/cli.ts +29 -10
@@ -1,14 +1,13 @@
1
1
  ---
2
- title: Document Types
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
- # Document Types
8
+ # Choose a Taskset document type
7
9
 
8
- Taskset stores durable project context beside tasks without forcing every note
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 <task-id>
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 and filenames use a per-type seven-digit sequence and title slug, for
32
- example `.taskset/flows/0000001-member-signs-in-via-sso.md`. Disposable metadata
33
- indexes for that kind live beside the files in `.taskset/flows/.generated/`.
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": "0000001-member-upgrades", "type": "story", "input": { "status": "ready" } },
86
- { "action": "export", "id": "0000001-member-upgrades", "type": "story", "targetPath": "exports/member-upgrades.md" }
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 filenames and references throughout repository text files,
97
- refreshes data `.gitignore` rules for scoped `.generated/` directories, removes
98
- legacy global `.taskset/generated/`, and rebuilds generated views. Build
99
- outputs, dependencies, caches, snapshots, and Git internals are excluded from
100
- reference rewriting.
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.
@@ -1,99 +1,106 @@
1
1
  ---
2
- title: Getting Started
3
- description: Initialize Taskset in a project and create the first repository task.
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
- # Getting Started
8
+ # Start a Taskset repository
7
9
 
8
- Taskset keeps project work in human-readable Markdown beside the code. The
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
- - pnpm 11 or newer
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
- Install the published package as a development dependency in the project that
19
- will own the tasks:
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
- The package exposes the `taskset` executable.
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 Taskset from the repository root:
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
- pnpm taskset init
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
- └── tasks/
48
+ ├── tasks/
49
+ ├── stories/
50
+ ├── flows/
51
+ ├── decisions/
52
+ ├── research/
53
+ └── runbooks/
42
54
  ```
43
55
 
44
- The config controls validated defaults. Task Markdown under `.taskset/tasks/`
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
- pnpm taskset task create --title "Add repository validation"
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
- Task files can also be read and reviewed directly without Taskset installed.
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
- ## Query And Validate Work
66
+ Start with the durable context, then create the task that implements it:
61
67
 
62
68
  ```bash
63
- pnpm taskset task list --status doing --label core --json
64
- pnpm taskset task list --file packages/core --impact --json
65
- pnpm taskset doctor
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
- File and directory filters use normalized repository-relative containment
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
- ## Generated Views And Migration
79
+ ## Query and validate the graph
75
80
 
76
81
  ```bash
77
- pnpm taskset generate
78
- pnpm taskset snapshot create
79
- pnpm taskset snapshot list
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
- Snapshot restore previews by default unless `--apply` is present.
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
- ## Complete Or Remove Work
90
+ ## Finish or remove work
85
91
 
86
92
  ```bash
87
- pnpm taskset task status <task-id> done
88
- pnpm taskset task delete <task-id>
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
- - [Configure task defaults](configuration.md)
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: Taskset
3
- description: Offline, inline, AI-friendly project awareness stored beside the code.
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
- # Taskset
8
+ # Keep the whole delivery story beside the code
7
9
 
8
- Taskset is an offline, inline, AI-friendly, human-readable task manager designed
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
- Tasks and project knowledge live inside the repository as Markdown. Git supplies
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
- Install the command-line package from npm as `@taskset/cli`.
14
+ ## What belongs in Taskset
17
15
 
18
- ## Core Promise
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
- - Work remains readable without Taskset installed.
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
- ## Current Status
24
+ ## What you get
27
25
 
28
- Taskset is pre-alpha. The CLI supports repository initialization, configuration
29
- inspection, validated task CRUD and lifecycle changes, repository diagnostics,
30
- generated views, snapshots, metadata queries, and file-impact analysis.
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
- ## Read Next
32
+ ## What the CLI covers
33
33
 
34
- - [Getting started](getting-started.md)
35
- - [Configuration](configuration.md)
36
- - [CLI reference](cli-reference.md)
37
- - [Task files](task-files.md)
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 user documentation through the Taskset website.
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 user documentation in the root `docs/` directory.
20
- - Keep contributor, product, architecture, ADR, testing, and technology
21
- material under `docs/maintainers/`.
22
- - Use plain Markdown by default and MDX only for interactive pages.
23
- - Build `apps/www` with Next.js App Router, Nextra, and the stock Nextra docs
24
- and blog themes.
25
- - Expose root `docs/` as the app's Nextra `content` directory through a
26
- repository-relative symlink.
27
- - Render top-level usage docs and `docs/maintainers/` through separate route
28
- layouts and page maps so their navigation stays audience-specific.
29
- - Keep chronological release and project posts under `apps/www/posts/`.
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 matches the existing Next.js direction, provides navigation and search
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
- - The site build must include root `docs/` files in its input.
66
- - New posts must be added to the app-local static post registry.
67
- - MDX components remain owned by `apps/www`.
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
- Taskset is pre-alpha. Strengthen the core file format and workflow before
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 user Markdown becomes the Taskset documentation website.
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 for user-facing guidance and maintainer
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
- ## Recommended Website Stack
10
+ - Humans: top-level usage pages
11
+ - Agents: `docs/agents/`, root `AGENTS.md`, and packaged `skills/`
12
+ - Maintainers: `docs/maintainers/`
13
13
 
14
- Use Next.js App Router, Nextra, `nextra-theme-docs`, and
15
- `nextra-theme-blog` in `apps/www`.
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 Rules
26
-
27
- - Use `.md` unless the page needs an interactive component.
28
- - Add `title` and `description` frontmatter.
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
- under `docs/maintainers/`, not in top-level usage navigation.
35
- - Keep chronological release and project posts under `apps/www/posts/`.
36
- - Require `title`, `description`, and `date` frontmatter for blog posts.
37
- - Register each post in `apps/www/src/blog/posts.ts` so the static build can
38
- enumerate `/posts/[slug]`.
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's
43
- standard content-directory loader renders that source without copying it or
44
- maintaining a second source tree. The top-level usage docs route filters
45
- `docs/maintainers/` out of its primary navigation, and the dedicated
46
- `/maintainers` route renders the same canonical maintainer Markdown with its own
47
- page map.
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 is intentionally
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 simple need: keep task context offline and inline with the
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, execution, and project knowledge as human-readable repository
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
- decisions, and releases.
28
- - Give AI systems direct, structured, reviewable project context.
29
- - Make monorepos, packages, applications, and code paths first-class.
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
- ### Developer first
50
+ ### Agent first, human readable
60
51
 
61
- Taskset proves developer workflows before broad enterprise planning features.
52
+ Taskset optimizes distribution, discovery, and docs for agent operators while keeping Markdown reviewable by humans.
62
53
 
63
- ## Near-Term Scope
54
+ ### Memory and execution together
64
55
 
65
- The MVP should implement:
56
+ Documents preserve product and engineering memory. Tasks carry ownership, status, and delivery. Relationships bind them into one graph.
66
57
 
67
- - repository initialization
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
- TUI, MCP, extension, Kanban, Office, and integrations follow after the file and
76
- core contracts are reliable.
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.