@goodtek/vibeops 0.7.22 → 1.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 +21 -1
- package/README.md +62 -382
- package/dist/bootstrap/installer.js +4 -16
- package/dist/cli.js +26 -160
- package/dist/commands/init.js +3 -3
- package/dist/commands/status.js +145 -8
- package/dist/commands/task-add.js +64 -164
- package/dist/commands/task-done.js +117 -74
- package/dist/lib/config.js +2 -118
- package/dist/lib/git.js +1 -1
- package/dist/lib/paths.js +7 -3
- package/dist/lib/plan-llm-openai.js +0 -63
- package/dist/lib/resolve-task.js +34 -0
- package/dist/lib/task-add-llm.js +46 -233
- package/dist/lib/task-context.js +68 -0
- package/dist/lib/task-done-llm.js +148 -0
- package/dist/lib/task-merge.js +54 -159
- package/dist/lib/task-scaffold.js +39 -43
- package/dist/lib/task-start.js +72 -0
- package/dist/lib/task-summary.js +12 -239
- package/dist/lib/task.js +15 -24
- package/dist/types/config.js +0 -16
- package/package.json +3 -5
- package/templates/.cursor/rules/01-task-source-of-truth.mdc +12 -0
- package/templates/.cursor/rules/02-git-safety.mdc +11 -0
- package/templates/.cursor/rules/03-docs-on-done.mdc +13 -0
- package/templates/.cursor/skills/implement-task/SKILL.md +22 -0
- package/templates/.cursor/skills/plan-task/SKILL.md +19 -0
- package/templates/AGENTS.md +26 -87
- package/templates/docs/logs/README.md +4 -35
- package/templates/docs/project/03-architecture.md +10 -29
- package/templates/docs/project/05-current-state.md +7 -27
- package/templates/docs/project/06-decisions.md +6 -17
- package/templates/docs/tasks/TASK-000-template.md +9 -44
- package/dist/agent/loader.js +0 -71
- package/dist/agent/prompt.js +0 -66
- package/dist/commands/agent-list.js +0 -32
- package/dist/commands/agent-prompt.js +0 -59
- package/dist/commands/agent-show.js +0 -26
- package/dist/commands/done.js +0 -160
- package/dist/commands/github-init.js +0 -554
- package/dist/commands/github-status.js +0 -164
- package/dist/commands/next.js +0 -283
- package/dist/commands/notion-init.js +0 -764
- package/dist/commands/notion-sync.js +0 -405
- package/dist/commands/notion-test.js +0 -595
- package/dist/commands/plan.js +0 -146
- package/dist/commands/rollback.js +0 -126
- package/dist/commands/start.js +0 -129
- package/dist/commands/task-check.js +0 -155
- package/dist/commands/task-generate.js +0 -206
- package/dist/commands/task-pull.js +0 -277
- package/dist/commands/task-rollback.js +0 -174
- package/dist/commands/task-start.js +0 -102
- package/dist/commands/task-status.js +0 -122
- package/dist/lib/brief.js +0 -356
- package/dist/lib/cursor-task-prompt.js +0 -60
- package/dist/lib/done-follow-up.js +0 -308
- package/dist/lib/github-cli.js +0 -247
- package/dist/lib/guide-state.js +0 -69
- package/dist/lib/mvp-artifacts.js +0 -204
- package/dist/lib/mvp-constants.js +0 -15
- package/dist/lib/mvp-diff-summary.js +0 -43
- package/dist/lib/mvp-done-summary.js +0 -335
- package/dist/lib/notion-client.js +0 -459
- package/dist/lib/notion-discovery.js +0 -671
- package/dist/lib/notion-env.js +0 -140
- package/dist/lib/notion-mappers.js +0 -148
- package/dist/lib/notion-schema.js +0 -272
- package/dist/lib/notion-sync.js +0 -337
- package/dist/lib/notion-target.js +0 -247
- package/dist/lib/package-json.js +0 -133
- package/dist/lib/plan-apply-planner.js +0 -131
- package/dist/lib/plan-codex-pkce.js +0 -234
- package/dist/lib/plan-llm-models.js +0 -237
- package/dist/lib/plan-llm-normalize.js +0 -146
- package/dist/lib/plan-llm-session.js +0 -682
- package/dist/lib/plan-post-apply-setup.js +0 -116
- package/dist/lib/project-docs.js +0 -95
- package/dist/lib/prompt-builder.js +0 -135
- package/dist/lib/resolve-command-task.js +0 -40
- package/dist/lib/task-add-build-prompt.js +0 -39
- package/dist/lib/task-add-cursor.js +0 -81
- package/dist/lib/task-generator.js +0 -183
- package/dist/lib/task-prompt.js +0 -23
- package/dist/lib/task-pull.js +0 -354
- package/dist/lib/task-status-brief.js +0 -132
- package/dist/lib/workflow-guide.js +0 -485
- package/dist/status/collector.js +0 -103
- package/dist/status/format.js +0 -181
- package/dist/types/brief.js +0 -126
- package/templates/.cursor/rules/00-project-governance.mdc +0 -28
- package/templates/.cursor/rules/01-agent-orchestration.mdc +0 -48
- package/templates/.cursor/rules/02-task-workflow.mdc +0 -38
- package/templates/.cursor/rules/03-git-safety.mdc +0 -30
- package/templates/.cursor/rules/04-docs-update.mdc +0 -22
- package/templates/.vibeops/agents/architect.md +0 -47
- package/templates/.vibeops/agents/builder.md +0 -38
- package/templates/.vibeops/agents/docs.md +0 -54
- package/templates/.vibeops/agents/orchestrator.md +0 -40
- package/templates/.vibeops/agents/planner.md +0 -60
- package/templates/.vibeops/agents/recovery.md +0 -49
- package/templates/.vibeops/agents/reviewer.md +0 -47
- package/templates/.vibeops/agents/tester.md +0 -43
- package/templates/.vibeops/prompts/create-plan.md +0 -33
- package/templates/.vibeops/prompts/generate-tasks.md +0 -41
- package/templates/.vibeops/prompts/implement-task.md +0 -39
- package/templates/.vibeops/prompts/review-task.md +0 -34
- package/templates/.vibeops/prompts/rollback.md +0 -32
- package/templates/.vibeops/prompts/start-project.md +0 -39
- package/templates/.vibeops/workflows/notion-sync.md +0 -53
- package/templates/.vibeops/workflows/project-start.md +0 -73
- package/templates/.vibeops/workflows/rollback.md +0 -45
- package/templates/.vibeops/workflows/task-lifecycle.md +0 -71
- package/templates/docs/project/00-overview.md +0 -27
- package/templates/docs/project/01-requirements.md +0 -30
- package/templates/docs/project/02-mvp-scope.md +0 -36
- package/templates/docs/project/04-tech-stack.md +0 -29
- package/templates/docs/project/07-backlog.md +0 -23
- package/templates/docs/project/08-env.md +0 -29
- package/templates/docs/project/09-deployment.md +0 -28
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# Workflow · Rollback
|
|
2
|
-
|
|
3
|
-
The standard "this TASK went wrong, let's undo it" flow.
|
|
4
|
-
|
|
5
|
-
## 1. Diagnose first
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
vibeops task rollback TASK-NNN
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
The default is **guidance only**. It shows:
|
|
12
|
-
|
|
13
|
-
- Current branch / dirty state.
|
|
14
|
-
- Base branch / base commit / task branch as read from `.vibeops/state/tasks/TASK-NNN.json`.
|
|
15
|
-
- Three possible strategies.
|
|
16
|
-
|
|
17
|
-
## 2. Available strategies
|
|
18
|
-
|
|
19
|
-
| Strategy | Description | What you could lose |
|
|
20
|
-
| ----------------- | ------------------------------------------------------------ | ------------------------------------ |
|
|
21
|
-
| `branch-delete` | Discard the task branch | Every unmerged change on the branch |
|
|
22
|
-
| `reset-base` | Hard-reset the current branch to the base commit | Your current changes (stash first) |
|
|
23
|
-
| `revert-merge` | If already merged, revert the merge commit | Adds a revert commit to history (OK) |
|
|
24
|
-
|
|
25
|
-
## 3. Execute (destructive, `--confirm` required)
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
vibeops task rollback TASK-NNN --strategy branch-delete --confirm
|
|
29
|
-
vibeops task rollback TASK-NNN --strategy reset-base --confirm
|
|
30
|
-
vibeops task rollback TASK-NNN --strategy revert-merge --confirm
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Combining `--dry-run` with `--confirm` prints the commands that would run without executing them.
|
|
34
|
-
|
|
35
|
-
## 4. Things you never do
|
|
36
|
-
|
|
37
|
-
- **`git push --force`**: never on shared branches. Even on your own task branch, do not run it unless the reason is unambiguous.
|
|
38
|
-
- Automatic reflog cleanup.
|
|
39
|
-
- Dropping stashes without explicit user consent.
|
|
40
|
-
|
|
41
|
-
## 5. After rollback
|
|
42
|
-
|
|
43
|
-
- Reset `docs/tasks/TASK-NNN-*.md` Status to `planned` or `blocked` and record the reason in Result.
|
|
44
|
-
- Update `docs/project/05-current-state.md`.
|
|
45
|
-
- Append a one-line entry to `docs/logs/YYYY-MM-DD.md`: "Rollback: TASK-NNN — reason".
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# Workflow · Task Lifecycle
|
|
2
|
-
|
|
3
|
-
A TASK from start to finish.
|
|
4
|
-
|
|
5
|
-
## 0. Pick
|
|
6
|
-
|
|
7
|
-
Run `vibeops status` to identify the next TASK. Typically run `in_progress` items before `planned` ones.
|
|
8
|
-
|
|
9
|
-
## 1. Start
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
vibeops task start TASK-NNN
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
- A dirty working tree is refused unless changes are limited to governance docs (`docs/tasks/`, `docs/project/`, `docs/logs/`, `.vibeops/state/`); then `task start` warns and continues. Use `--allow-dirty` only when non-doc paths are dirty intentionally.
|
|
16
|
-
- Records base branch / base commit / task branch in `.vibeops/state/tasks/TASK-NNN.json`.
|
|
17
|
-
- Creates and checks out the `task/NNN-<slug>` branch.
|
|
18
|
-
- Sets the TASK file's Status to `in_progress`.
|
|
19
|
-
|
|
20
|
-
## 2. Prompt
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
vibeops task prompt TASK-NNN --agent builder
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Paste the single markdown output directly into the Cursor chat. Cursor takes on the builder agent role.
|
|
27
|
-
|
|
28
|
-
Other agents work the same way:
|
|
29
|
-
- `--agent reviewer` — review the diff.
|
|
30
|
-
- `--agent tester` — run the Test Plan.
|
|
31
|
-
- `--agent docs` — update the three docs.
|
|
32
|
-
|
|
33
|
-
## 3. Check
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
vibeops task check TASK-NNN
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
- Score Acceptance Criteria items with ✓ / ✗.
|
|
40
|
-
- Match `Expected Files to Change` against actual changes.
|
|
41
|
-
- Summarize current branch / dirty / commit count.
|
|
42
|
-
|
|
43
|
-
## 4. Done
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
vibeops task done TASK-NNN
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
- Validates the TASK file's Status, Result, Test Result bodies.
|
|
50
|
-
- Records `doneAt` in `.vibeops/state/tasks/TASK-NNN.json`.
|
|
51
|
-
- Prints **merge guidance** (no automatic merge).
|
|
52
|
-
|
|
53
|
-
A human merges:
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
git switch main
|
|
57
|
-
git merge --ff-only task/NNN-<slug>
|
|
58
|
-
git branch -d task/NNN-<slug>
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## 5. (Optional) Notion sync
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
vibeops notion sync
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Pushes TASK metadata (summary, status, priority, branch, docs path, result summary) to Notion.
|
|
68
|
-
|
|
69
|
-
## When things go wrong: Rollback
|
|
70
|
-
|
|
71
|
-
See [`rollback.md`](rollback.md).
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# 00 — Overview
|
|
2
|
-
|
|
3
|
-
> This document is the slot that `vibeops plan` (via the `planner` agent) fills in. Keep the section headers below and leave the bodies empty.
|
|
4
|
-
|
|
5
|
-
## One-line definition
|
|
6
|
-
|
|
7
|
-
<!-- One sentence describing what this project is — who it is for and what the tool/service does. -->
|
|
8
|
-
|
|
9
|
-
## Problem to solve
|
|
10
|
-
|
|
11
|
-
<!-- 3 to 5 bullets. Stay fact-based about current pain points. -->
|
|
12
|
-
|
|
13
|
-
## Example usage
|
|
14
|
-
|
|
15
|
-
<!-- A 6-to-10-line scenario showing how a single hypothetical user flows through the product. -->
|
|
16
|
-
|
|
17
|
-
## Core roles
|
|
18
|
-
|
|
19
|
-
<!-- 4 to 8 things this product "does", one per line. Each line starts with a verb. -->
|
|
20
|
-
|
|
21
|
-
## Vocabulary
|
|
22
|
-
|
|
23
|
-
<!-- 5 to 10 terms that mean something specific in this project. Disambiguate synonyms. -->
|
|
24
|
-
|
|
25
|
-
## Non-goals (out of scope, forever)
|
|
26
|
-
|
|
27
|
-
<!-- Things this project intentionally does not do. Different from "out of MVP scope" — that lives in 02-mvp-scope.md. -->
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# 01 — Requirements
|
|
2
|
-
|
|
3
|
-
> Filled in by the `planner` agent.
|
|
4
|
-
|
|
5
|
-
## Functional requirements
|
|
6
|
-
|
|
7
|
-
<!--
|
|
8
|
-
Numbered. Each line reads "the system does …".
|
|
9
|
-
F-001. Users can ...
|
|
10
|
-
F-002. The system ...
|
|
11
|
-
-->
|
|
12
|
-
|
|
13
|
-
## Non-functional requirements
|
|
14
|
-
|
|
15
|
-
<!--
|
|
16
|
-
Performance / reliability / security / operations / compatibility.
|
|
17
|
-
NF-001. No command may corrupt user data ...
|
|
18
|
-
-->
|
|
19
|
-
|
|
20
|
-
## Users / stakeholders
|
|
21
|
-
|
|
22
|
-
<!-- Who uses the product, who cares about it. By role. -->
|
|
23
|
-
|
|
24
|
-
## Constraints
|
|
25
|
-
|
|
26
|
-
<!-- Technical, schedule, budget, regulatory — anything imposed from outside. -->
|
|
27
|
-
|
|
28
|
-
## Assumptions
|
|
29
|
-
|
|
30
|
-
<!-- The "let's assume this is true" list. Items that would be risky if they break. -->
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# 02 — MVP Scope
|
|
2
|
-
|
|
3
|
-
> Filled in by the `planner` agent. Keep it small.
|
|
4
|
-
|
|
5
|
-
## MVP in one sentence
|
|
6
|
-
|
|
7
|
-
<!-- A single line: "Within two weeks, who can do what." -->
|
|
8
|
-
|
|
9
|
-
## In scope
|
|
10
|
-
|
|
11
|
-
<!--
|
|
12
|
-
The 5 to 10 capabilities the MVP must have.
|
|
13
|
-
- IN: sign-up and single sign-on
|
|
14
|
-
- IN: ...
|
|
15
|
-
-->
|
|
16
|
-
|
|
17
|
-
## Intentionally out for MVP
|
|
18
|
-
|
|
19
|
-
<!--
|
|
20
|
-
Things that may ship later but not in the MVP.
|
|
21
|
-
- OUT: multiple workspaces
|
|
22
|
-
- OUT: payment UI
|
|
23
|
-
The clearer this is, the smaller the backlog gets.
|
|
24
|
-
-->
|
|
25
|
-
|
|
26
|
-
## Definition of done
|
|
27
|
-
|
|
28
|
-
<!--
|
|
29
|
-
- Which scenarios run end-to-end.
|
|
30
|
-
- Which data flows are preserved.
|
|
31
|
-
- Which error situations are tolerated.
|
|
32
|
-
-->
|
|
33
|
-
|
|
34
|
-
## How to validate
|
|
35
|
-
|
|
36
|
-
<!-- How a real person confirms "the MVP is ready". One demo scenario. -->
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# 04 — Tech Stack
|
|
2
|
-
|
|
3
|
-
> Filled in by the `architect` agent. Add a one-line "why" to each choice.
|
|
4
|
-
|
|
5
|
-
## Runtime / language
|
|
6
|
-
|
|
7
|
-
<!-- Node.js / Python / Go, etc. Version. The reason behind the choice. -->
|
|
8
|
-
|
|
9
|
-
## Frameworks / libraries
|
|
10
|
-
|
|
11
|
-
<!--
|
|
12
|
-
| Area | Choice | Why |
|
|
13
|
-
| ------- | ------------------ | ---------------------------------------------- |
|
|
14
|
-
| Server | ... | ... |
|
|
15
|
-
| ORM | ... | ... |
|
|
16
|
-
| Tests | vitest | TS-friendly, fast |
|
|
17
|
-
-->
|
|
18
|
-
|
|
19
|
-
## Infrastructure
|
|
20
|
-
|
|
21
|
-
<!-- Where the system runs, how it is deployed (high level). Detailed commands live in 09-deployment.md. -->
|
|
22
|
-
|
|
23
|
-
## Package manager / build
|
|
24
|
-
|
|
25
|
-
<!-- pnpm / npm / yarn, tsc / esbuild / vite, etc. Whether there is a single entry point. -->
|
|
26
|
-
|
|
27
|
-
## Explicit non-adoptions
|
|
28
|
-
|
|
29
|
-
<!-- Things we deliberately do not use, and why. -->
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# 07 — Backlog
|
|
2
|
-
|
|
3
|
-
TASK order. Work top to bottom. Do not skip to the next item before the current TASK is done.
|
|
4
|
-
|
|
5
|
-
> Slot to be filled by the `planner` agent.
|
|
6
|
-
|
|
7
|
-
## MVP 1
|
|
8
|
-
|
|
9
|
-
| ID | Title | Status |
|
|
10
|
-
| -------- | ----------------------------------- | ------- |
|
|
11
|
-
| TASK-001 | <first TASK title> | planned |
|
|
12
|
-
|
|
13
|
-
## MVP 2 (later)
|
|
14
|
-
|
|
15
|
-
<!-- Slot. -->
|
|
16
|
-
|
|
17
|
-
## Later (out of MVP, but live candidates)
|
|
18
|
-
|
|
19
|
-
<!-- Items to revisit after MVP. Do not turn them into TASKs right away. -->
|
|
20
|
-
|
|
21
|
-
## Non-goals
|
|
22
|
-
|
|
23
|
-
Follow the "Non-goals" section in `docs/project/00-overview.md`. The backlog only grows inside those bounds.
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# 08 — Environment
|
|
2
|
-
|
|
3
|
-
Environment variables used by this project and what they mean.
|
|
4
|
-
|
|
5
|
-
## Local development
|
|
6
|
-
|
|
7
|
-
Copy `.vibeops.env.example` to `.vibeops.env` and fill in the values. Never commit `.vibeops.env` — it is listed in `.gitignore`.
|
|
8
|
-
|
|
9
|
-
| Variable | Purpose | Required |
|
|
10
|
-
| --------------- | ---------------------------------------------------------------- | --------------- |
|
|
11
|
-
| `NOTION_TOKEN` | Notion internal integration secret (the only secret VibeOps reads) | If using Notion |
|
|
12
|
-
|
|
13
|
-
`NOTION_TOKEN` is the only secret VibeOps reads from the environment. Notion **Projects / Tasks DB target IDs** are not environment variables — they live in `.vibeops.json` as `notion.projectsTargetId` / `notion.tasksTargetId`, and `vibeops notion init` writes them. GitHub auth is owned by `gh auth`, so there is no need to put `GITHUB_TOKEN` here.
|
|
14
|
-
|
|
15
|
-
> The legacy `NOTION_API_KEY` / `NOTION_PROJECT_DB` / `NOTION_TASK_DB` environment variables are no longer used. VibeOps ignores them if they remain in an existing `.vibeops.env`. It is safe to remove them by hand.
|
|
16
|
-
|
|
17
|
-
<!--
|
|
18
|
-
Add project-specific environment variables here once they exist.
|
|
19
|
-
Examples: DATABASE_URL, OAUTH_CLIENT_ID, ...
|
|
20
|
-
-->
|
|
21
|
-
|
|
22
|
-
## Staging / production
|
|
23
|
-
|
|
24
|
-
<!-- Slot. -->
|
|
25
|
-
|
|
26
|
-
## Secret management
|
|
27
|
-
|
|
28
|
-
- `.vibeops.env` is a plain-text local file. Production secrets belong in a real secret manager.
|
|
29
|
-
- No VibeOps command prints secret values to stdout in the clear (they are masked).
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# 09 — Deployment
|
|
2
|
-
|
|
3
|
-
How the project is deployed and run.
|
|
4
|
-
|
|
5
|
-
## Local run
|
|
6
|
-
|
|
7
|
-
<!-- The single-command dev-server flow (e.g. `pnpm dev`). -->
|
|
8
|
-
|
|
9
|
-
## Build
|
|
10
|
-
|
|
11
|
-
<!-- Where build artifacts live and which command produces them. -->
|
|
12
|
-
|
|
13
|
-
## Packaging / release
|
|
14
|
-
|
|
15
|
-
<!--
|
|
16
|
-
Steps per target environment.
|
|
17
|
-
- npm publish?
|
|
18
|
-
- Docker image?
|
|
19
|
-
- Cloud (Vercel / Fly / AWS / GCP / ...) ?
|
|
20
|
-
-->
|
|
21
|
-
|
|
22
|
-
## Environment separation
|
|
23
|
-
|
|
24
|
-
<!-- Differences between dev / staging / prod. Same code with different env? Same image? -->
|
|
25
|
-
|
|
26
|
-
## Rollback
|
|
27
|
-
|
|
28
|
-
<!-- The standard rollback flow when a deployment goes wrong. -->
|