@goodtek/vibeops 0.7.22 → 1.1.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.
- package/CHANGELOG.md +51 -0
- package/README.md +51 -380
- package/dist/bootstrap/installer.js +42 -20
- package/dist/bootstrap/manifest.js +23 -3
- package/dist/cli.js +69 -154
- package/dist/commands/init.js +279 -114
- package/dist/commands/llm.js +177 -0
- package/dist/commands/status.js +181 -8
- package/dist/commands/task-add.js +89 -162
- package/dist/commands/task-done.js +112 -73
- package/dist/lib/config.js +77 -113
- package/dist/lib/env.js +32 -0
- package/dist/lib/git-config.js +21 -0
- package/dist/lib/git-host.js +12 -0
- package/dist/lib/git-policy.js +67 -0
- package/dist/lib/git-remote.js +108 -0
- package/dist/lib/git.js +44 -1
- package/dist/lib/init-clients.js +55 -0
- package/dist/lib/llm-complete.js +18 -19
- package/dist/lib/llm-connect.js +150 -0
- package/dist/lib/llm-preference.js +102 -0
- package/dist/lib/llm-status.js +19 -0
- package/dist/lib/paths.js +7 -3
- package/dist/lib/plan-llm-openai.js +0 -63
- package/dist/lib/pr-create.js +66 -0
- package/dist/lib/resolve-task.js +34 -0
- package/dist/lib/task-add-llm.js +53 -233
- package/dist/lib/task-context.js +68 -0
- package/dist/lib/task-done-llm.js +155 -0
- package/dist/lib/task-pr-llm.js +50 -0
- package/dist/lib/task-push-pr.js +131 -0
- package/dist/lib/task-scaffold.js +39 -43
- package/dist/lib/task-start.js +100 -0
- package/dist/lib/task-summary.js +12 -239
- package/dist/lib/task.js +30 -24
- package/dist/types/config.js +0 -16
- package/package.json +14 -14
- package/templates/.cursor/rules/02-git-safety.mdc +12 -0
- package/templates/AGENTS.md +27 -87
- package/templates/clients/claude/CLAUDE.md +28 -0
- package/templates/clients/cursor/.cursor/rules/01-task-source-of-truth.mdc +12 -0
- package/templates/clients/cursor/.cursor/rules/02-git-safety.mdc +11 -0
- package/templates/clients/cursor/.cursor/rules/03-docs-on-done.mdc +13 -0
- package/templates/core/AGENTS.md +44 -0
- package/templates/core/docs/logs/README.md +7 -0
- package/templates/core/docs/project/03-architecture.md +15 -0
- package/templates/core/docs/project/05-current-state.md +15 -0
- package/templates/core/docs/project/06-decisions.md +9 -0
- package/templates/core/docs/tasks/TASK-000-template.md +37 -0
- package/templates/skills-shared/implement-task/SKILL.md +22 -0
- package/templates/skills-shared/plan-task/SKILL.md +19 -0
- 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-merge.js +0 -220
- 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/logs/README.md +0 -38
- 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/03-architecture.md +0 -34
- package/templates/docs/project/04-tech-stack.md +0 -29
- package/templates/docs/project/05-current-state.md +0 -35
- package/templates/docs/project/06-decisions.md +0 -20
- 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
- package/templates/docs/tasks/TASK-000-template.md +0 -72
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# Daily Logs
|
|
2
|
-
|
|
3
|
-
This directory follows a **one-file-per-day** policy.
|
|
4
|
-
|
|
5
|
-
- Filename: `YYYY-MM-DD.md` (local date).
|
|
6
|
-
- Create the file on the day's first change. Additional changes the same day append entries to the same file.
|
|
7
|
-
- Logs are **fact-first**: decision summary, changed files, verification result, next work.
|
|
8
|
-
|
|
9
|
-
## Entry template
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
## YYYY-MM-DD · TASK-NNN <short title>
|
|
13
|
-
|
|
14
|
-
### Decision summary
|
|
15
|
-
|
|
16
|
-
- ...
|
|
17
|
-
|
|
18
|
-
### Changed files
|
|
19
|
-
|
|
20
|
-
- new: ...
|
|
21
|
-
- update: ...
|
|
22
|
-
|
|
23
|
-
### Verification
|
|
24
|
-
|
|
25
|
-
| Command | Result |
|
|
26
|
-
| --- | --- |
|
|
27
|
-
| `...` | ... |
|
|
28
|
-
|
|
29
|
-
### Next work
|
|
30
|
-
|
|
31
|
-
- TASK-NNN — ...
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Non-goals
|
|
35
|
-
|
|
36
|
-
- Chitchat, opinions, self-praise.
|
|
37
|
-
- Copy-pasted TASK bodies.
|
|
38
|
-
- Secret values that should not be committed.
|
|
@@ -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,34 +0,0 @@
|
|
|
1
|
-
# 03 — Architecture
|
|
2
|
-
|
|
3
|
-
> Filled in by the `architect` agent.
|
|
4
|
-
|
|
5
|
-
## Big picture
|
|
6
|
-
|
|
7
|
-
<!--
|
|
8
|
-
Use an ASCII diagram to draw the "inside / outside the system" boundary.
|
|
9
|
-
Flows like user → frontend → backend → DB / external services.
|
|
10
|
-
-->
|
|
11
|
-
|
|
12
|
-
## Components
|
|
13
|
-
|
|
14
|
-
<!--
|
|
15
|
-
| Name | Responsibility | Inputs | Outputs |
|
|
16
|
-
| ----------- | ------------------------ | ------------- | ------------- |
|
|
17
|
-
| component-a | ... | ... | ... |
|
|
18
|
-
-->
|
|
19
|
-
|
|
20
|
-
## Data model
|
|
21
|
-
|
|
22
|
-
<!-- The 3 to 7 core entities and how they relate. Field-level detail belongs to a separate TASK. -->
|
|
23
|
-
|
|
24
|
-
## Data flow
|
|
25
|
-
|
|
26
|
-
<!-- The call sequence for the 1 to 2 most common user scenarios. -->
|
|
27
|
-
|
|
28
|
-
## External boundaries
|
|
29
|
-
|
|
30
|
-
<!-- Which external services / APIs we talk to. Auth method, public or private. -->
|
|
31
|
-
|
|
32
|
-
## Non-deterministic / failure paths
|
|
33
|
-
|
|
34
|
-
<!-- High-level behavior under network failures, concurrency, data loss. -->
|
|
@@ -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,35 +0,0 @@
|
|
|
1
|
-
# 05 — Current State
|
|
2
|
-
|
|
3
|
-
> Record **facts only**. The `docs` agent refreshes this document after each implementation.
|
|
4
|
-
|
|
5
|
-
## Stage
|
|
6
|
-
|
|
7
|
-
- **Current stage**: bootstrap complete. Planning and implementation have not started yet.
|
|
8
|
-
- No code (`src/`, `package.json`, …) exists yet.
|
|
9
|
-
|
|
10
|
-
## What is in place
|
|
11
|
-
|
|
12
|
-
| Item | Location | Notes |
|
|
13
|
-
| ----------------- | ------------------------------------- | --------------------------- |
|
|
14
|
-
| Operating guide | `AGENTS.md`, `.cursor/rules/*` | Installed by VibeOps |
|
|
15
|
-
| Agent definitions | `.vibeops/agents/*` | 8 agents |
|
|
16
|
-
| Project docs | `docs/project/00 ~ 09` | Empty (waiting for plan) |
|
|
17
|
-
| TASK folder | `docs/tasks/` | Empty (waiting for generate) |
|
|
18
|
-
| Logs folder | `docs/logs/` | Empty |
|
|
19
|
-
|
|
20
|
-
## What is missing
|
|
21
|
-
|
|
22
|
-
- The actual bodies of `docs/project/*` (planner / architect will fill these in).
|
|
23
|
-
- `docs/tasks/TASK-001-*.md` (`task generate`).
|
|
24
|
-
- Any code at all.
|
|
25
|
-
- Notion connection (run `vibeops notion init` if desired).
|
|
26
|
-
|
|
27
|
-
## Next TASK
|
|
28
|
-
|
|
29
|
-
**The backlog is empty.** Run `vibeops plan --idea "<your idea>"` to fill in `docs/project/{00,01,02,07}`; the first TASK candidates fall out of that.
|
|
30
|
-
|
|
31
|
-
## Working rules (short summary)
|
|
32
|
-
|
|
33
|
-
- Implement **one TASK at a time**.
|
|
34
|
-
- Every mutating command should support `--dry-run` when possible.
|
|
35
|
-
- After implementation, update this document, the TASK file, and `docs/logs/YYYY-MM-DD.md` together.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# 06 — Decisions
|
|
2
|
-
|
|
3
|
-
Decisions that have already been made. A conflicting proposal changes them only after a separate TASK reopens the discussion.
|
|
4
|
-
|
|
5
|
-
## D-001 · Source of truth is Git `docs/`
|
|
6
|
-
|
|
7
|
-
Chat is not trusted. When docs and chat disagree, fix the docs first, then implement.
|
|
8
|
-
|
|
9
|
-
## D-002 · One TASK at a time
|
|
10
|
-
|
|
11
|
-
Large refactors do not happen without a dedicated TASK.
|
|
12
|
-
|
|
13
|
-
## D-003 · Notion is the human dashboard (metadata only)
|
|
14
|
-
|
|
15
|
-
No body sync. No realtime.
|
|
16
|
-
|
|
17
|
-
<!--
|
|
18
|
-
Add later decisions as `D-NNN · one-line summary`.
|
|
19
|
-
Keep each entry short — one paragraph that covers "why" and "result".
|
|
20
|
-
-->
|
|
@@ -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. -->
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# TASK-NNN · <one-line title>
|
|
2
|
-
|
|
3
|
-
> This file is an example produced from VibeOps' `TASK-000-template.md`.
|
|
4
|
-
> Real TASKs come from `vibeops plan` (TASK-mvp), `vibeops task add` (work-now slice), or your backlog process. Filenames follow `TASK-NNN-<slug>.md`.
|
|
5
|
-
|
|
6
|
-
## Status
|
|
7
|
-
|
|
8
|
-
planned
|
|
9
|
-
|
|
10
|
-
## MVP Phase
|
|
11
|
-
|
|
12
|
-
MVP 1 · <phase name>
|
|
13
|
-
|
|
14
|
-
## Goal
|
|
15
|
-
|
|
16
|
-
<2 to 4 sentences. What becomes possible when this TASK ships.>
|
|
17
|
-
|
|
18
|
-
## Background
|
|
19
|
-
|
|
20
|
-
<Why this is needed now. Which prior decisions / TASKs this builds on.>
|
|
21
|
-
|
|
22
|
-
## Scope
|
|
23
|
-
|
|
24
|
-
- <bullet 1>
|
|
25
|
-
- <bullet 2>
|
|
26
|
-
|
|
27
|
-
## Out of Scope
|
|
28
|
-
|
|
29
|
-
- <explicit exclusion 1>
|
|
30
|
-
- <explicit exclusion 2>
|
|
31
|
-
|
|
32
|
-
## Acceptance Criteria
|
|
33
|
-
|
|
34
|
-
1. <verifiable statement>
|
|
35
|
-
2. <verifiable statement>
|
|
36
|
-
|
|
37
|
-
## Files to Inspect First
|
|
38
|
-
|
|
39
|
-
- <path 1>
|
|
40
|
-
- <path 2>
|
|
41
|
-
|
|
42
|
-
## Expected Files to Change
|
|
43
|
-
|
|
44
|
-
- new: <path>
|
|
45
|
-
- update: <path>
|
|
46
|
-
|
|
47
|
-
## Risks
|
|
48
|
-
|
|
49
|
-
- <risk 1 and mitigation>
|
|
50
|
-
- <risk 2 and mitigation>
|
|
51
|
-
|
|
52
|
-
## Test Plan
|
|
53
|
-
|
|
54
|
-
- <command / case 1>
|
|
55
|
-
- <command / case 2>
|
|
56
|
-
|
|
57
|
-
## Rollback Plan
|
|
58
|
-
|
|
59
|
-
- <how to roll back>
|
|
60
|
-
|
|
61
|
-
## Implementation Plan
|
|
62
|
-
|
|
63
|
-
1. <step 1>
|
|
64
|
-
2. <step 2>
|
|
65
|
-
|
|
66
|
-
## Result
|
|
67
|
-
|
|
68
|
-
(not yet)
|
|
69
|
-
|
|
70
|
-
## Test Result
|
|
71
|
-
|
|
72
|
-
(not yet)
|