@goodtek/vibeops 0.2.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 (93) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/LICENSE +21 -0
  3. package/README.md +444 -0
  4. package/dist/agent/loader.js +71 -0
  5. package/dist/agent/prompt.js +66 -0
  6. package/dist/bootstrap/installer.js +149 -0
  7. package/dist/bootstrap/manifest.js +15 -0
  8. package/dist/bootstrap/substitute.js +35 -0
  9. package/dist/cli.js +241 -0
  10. package/dist/commands/agent-list.js +32 -0
  11. package/dist/commands/agent-prompt.js +59 -0
  12. package/dist/commands/agent-show.js +26 -0
  13. package/dist/commands/github-init.js +554 -0
  14. package/dist/commands/github-status.js +164 -0
  15. package/dist/commands/init.js +179 -0
  16. package/dist/commands/notion-init.js +764 -0
  17. package/dist/commands/notion-sync.js +405 -0
  18. package/dist/commands/notion-test.js +595 -0
  19. package/dist/commands/plan.js +114 -0
  20. package/dist/commands/status.js +17 -0
  21. package/dist/commands/task-check.js +155 -0
  22. package/dist/commands/task-done.js +98 -0
  23. package/dist/commands/task-generate.js +206 -0
  24. package/dist/commands/task-pull.js +277 -0
  25. package/dist/commands/task-rollback.js +174 -0
  26. package/dist/commands/task-start.js +90 -0
  27. package/dist/lib/brief.js +349 -0
  28. package/dist/lib/config.js +158 -0
  29. package/dist/lib/filesystem.js +67 -0
  30. package/dist/lib/git.js +237 -0
  31. package/dist/lib/github-cli.js +247 -0
  32. package/dist/lib/inquirer-helpers.js +111 -0
  33. package/dist/lib/logger.js +42 -0
  34. package/dist/lib/notion-client.js +459 -0
  35. package/dist/lib/notion-discovery.js +671 -0
  36. package/dist/lib/notion-env.js +140 -0
  37. package/dist/lib/notion-mappers.js +148 -0
  38. package/dist/lib/notion-schema.js +272 -0
  39. package/dist/lib/notion-sync.js +337 -0
  40. package/dist/lib/notion-target.js +247 -0
  41. package/dist/lib/package-json.js +133 -0
  42. package/dist/lib/paths.js +26 -0
  43. package/dist/lib/project-docs.js +95 -0
  44. package/dist/lib/prompt-builder.js +125 -0
  45. package/dist/lib/task-generator.js +183 -0
  46. package/dist/lib/task-prompt.js +23 -0
  47. package/dist/lib/task-pull.js +354 -0
  48. package/dist/lib/task-scaffold.js +128 -0
  49. package/dist/lib/task-summary.js +276 -0
  50. package/dist/lib/task.js +364 -0
  51. package/dist/status/collector.js +103 -0
  52. package/dist/status/format.js +177 -0
  53. package/dist/types/brief.js +126 -0
  54. package/dist/types/config.js +17 -0
  55. package/dist/types/task.js +1 -0
  56. package/dist/version.js +8 -0
  57. package/package.json +61 -0
  58. package/templates/.cursor/rules/00-project-governance.mdc +28 -0
  59. package/templates/.cursor/rules/01-agent-orchestration.mdc +48 -0
  60. package/templates/.cursor/rules/02-task-workflow.mdc +38 -0
  61. package/templates/.cursor/rules/03-git-safety.mdc +30 -0
  62. package/templates/.cursor/rules/04-docs-update.mdc +22 -0
  63. package/templates/.vibeops/agents/architect.md +47 -0
  64. package/templates/.vibeops/agents/builder.md +38 -0
  65. package/templates/.vibeops/agents/docs.md +54 -0
  66. package/templates/.vibeops/agents/orchestrator.md +40 -0
  67. package/templates/.vibeops/agents/planner.md +60 -0
  68. package/templates/.vibeops/agents/recovery.md +49 -0
  69. package/templates/.vibeops/agents/reviewer.md +47 -0
  70. package/templates/.vibeops/agents/tester.md +43 -0
  71. package/templates/.vibeops/prompts/create-plan.md +33 -0
  72. package/templates/.vibeops/prompts/generate-tasks.md +41 -0
  73. package/templates/.vibeops/prompts/implement-task.md +39 -0
  74. package/templates/.vibeops/prompts/review-task.md +34 -0
  75. package/templates/.vibeops/prompts/rollback.md +32 -0
  76. package/templates/.vibeops/prompts/start-project.md +39 -0
  77. package/templates/.vibeops/workflows/notion-sync.md +53 -0
  78. package/templates/.vibeops/workflows/project-start.md +73 -0
  79. package/templates/.vibeops/workflows/rollback.md +45 -0
  80. package/templates/.vibeops/workflows/task-lifecycle.md +71 -0
  81. package/templates/AGENTS.md +98 -0
  82. package/templates/docs/logs/README.md +38 -0
  83. package/templates/docs/project/00-overview.md +27 -0
  84. package/templates/docs/project/01-requirements.md +30 -0
  85. package/templates/docs/project/02-mvp-scope.md +36 -0
  86. package/templates/docs/project/03-architecture.md +34 -0
  87. package/templates/docs/project/04-tech-stack.md +29 -0
  88. package/templates/docs/project/05-current-state.md +35 -0
  89. package/templates/docs/project/06-decisions.md +20 -0
  90. package/templates/docs/project/07-backlog.md +23 -0
  91. package/templates/docs/project/08-env.md +29 -0
  92. package/templates/docs/project/09-deployment.md +28 -0
  93. package/templates/docs/tasks/TASK-000-template.md +72 -0
@@ -0,0 +1,73 @@
1
+ # Workflow · Project Start
2
+
3
+ The first hour of a new project.
4
+
5
+ ## 0. Prepare
6
+
7
+ - Start in an empty directory.
8
+ - The user has a one-to-two-paragraph **idea**.
9
+
10
+ ## 1. Bootstrap
11
+
12
+ ```bash
13
+ vibeops init --name <project-name>
14
+ git init && git add . && git commit -m "chore: bootstrap vibeops"
15
+ ```
16
+
17
+ What gets created:
18
+ - `AGENTS.md`, `.cursor/rules/*`, `docs/project/*`, `docs/tasks/`, `docs/logs/`
19
+ - `.vibeops/agents/*`, `.vibeops/prompts/*`, `.vibeops/workflows/*`
20
+ - `.vibeops.json`, `.vibeops.env.example`
21
+
22
+ ## 2. Plan
23
+
24
+ ```bash
25
+ vibeops plan --idea "<one-paragraph idea>"
26
+ ```
27
+
28
+ Paste the resulting prompt into Cursor. Cursor takes on the `planner` agent role and fills in four files.
29
+
30
+ - `docs/project/00-overview.md`
31
+ - `docs/project/01-requirements.md`
32
+ - `docs/project/02-mvp-scope.md`
33
+ - `docs/project/07-backlog.md`
34
+
35
+ Next, invoke `architect` to fill in `03-architecture.md` and `04-tech-stack.md`.
36
+
37
+ ## 3. Backlog → TASKs
38
+
39
+ For each backlog item:
40
+
41
+ ```bash
42
+ vibeops task generate --from-backlog TASK-NNN
43
+ ```
44
+
45
+ A `docs/tasks/TASK-NNN-*.md` file appears.
46
+
47
+ ## 4. First TASK
48
+
49
+ ```bash
50
+ vibeops task start TASK-001
51
+ vibeops task prompt TASK-001 --agent builder
52
+ # paste into Cursor and let it work
53
+ vibeops task check TASK-001
54
+ vibeops task done TASK-001
55
+ ```
56
+
57
+ Read the merge guidance, then merge and push manually.
58
+
59
+ ## 5. (Optional) Notion
60
+
61
+ ```bash
62
+ vibeops notion init # interactive .vibeops.env setup
63
+ vibeops notion test # validate API access and DB schemas
64
+ vibeops notion sync # push docs/tasks metadata to Notion
65
+ ```
66
+
67
+ ## 6. Daily
68
+
69
+ ```bash
70
+ vibeops status # check where you are in one second
71
+ ```
72
+
73
+ Add one entry per decision or step to `docs/logs/YYYY-MM-DD.md` each day.
@@ -0,0 +1,45 @@
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".
@@ -0,0 +1,71 @@
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 (override with `--allow-dirty`, not recommended).
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).
@@ -0,0 +1,98 @@
1
+ # {{PROJECT_NAME}} — AI agent operating guide
2
+
3
+ > This file was installed by **VibeOps**. Every AI agent on this project (including Cursor) reads it before touching code.
4
+
5
+ ## Purpose
6
+
7
+ This project runs **Cursor-based vibe coding** on rails. The execution input is **`docs/tasks/TASK-*.md`**, not chat history.
8
+
9
+ ## Required reading before you code
10
+
11
+ Read the docs below **before you start implementing**. Order top to bottom.
12
+
13
+ | Document | Why |
14
+ | ------------------------------------------ | --------------------------------------------------------- |
15
+ | `docs/project/05-current-state.md` | Where the project is today and what comes next |
16
+ | `docs/project/00-overview.md` | Vision, terminology, MVP boundaries |
17
+ | `docs/project/02-mvp-scope.md` | What is in / out of MVP |
18
+ | `docs/project/03-architecture.md` | System, folders, data flow |
19
+ | `docs/project/04-tech-stack.md` | Tools used to build the project |
20
+ | `docs/project/06-decisions.md` | Decisions already made (avoid conflicts) |
21
+ | `docs/project/07-backlog.md` | TASK order and definition of done |
22
+ | **Current TASK file** `docs/tasks/TASK-NNN-*` | Scope and Acceptance Criteria for the current TASK |
23
+
24
+ `docs/project/01-requirements.md`, `08-env.md`, `09-deployment.md` are referenced as needed. **Always read the entire current TASK file.**
25
+
26
+ ## Source of truth
27
+
28
+ | What | Where |
29
+ | -------------------------- | ---------------------------------- |
30
+ | AI execution input | Git `docs/tasks/*.md` |
31
+ | Project design and status | Git `docs/project/*.md` |
32
+ | Change history and rollback | Git commits / branches |
33
+ | Human dashboard | Notion (metadata only, never body) |
34
+ | **Not** a source of truth | Chat (Cursor history, Slack) |
35
+
36
+ ## TASK-driven development rules
37
+
38
+ 1. Implement **one TASK at a time**.
39
+ 2. Stay inside the TASK's **Scope / Acceptance Criteria**.
40
+ 3. Before adding new code, **search** for existing implementations or patterns and avoid duplication.
41
+ 4. **Every mutating command** should support **`--dry-run`** (or an equivalent) so the plan can be previewed without side effects.
42
+ 5. **Large refactors** happen only when a dedicated TASK calls for them.
43
+ 6. **Notion / Git integrations** are only added when an explicit TASK assigns that responsibility.
44
+ 7. When the work is finished, update docs per [Completion report](#completion-report) and `.cursor/rules/04-docs-update.mdc`.
45
+
46
+ Details live in `.cursor/rules/`.
47
+
48
+ ## Agent roles
49
+
50
+ `.vibeops/agents/*.md` defines 8 agents for this project.
51
+
52
+ - `orchestrator` — picks the next TASK and delegates to other agents.
53
+ - `planner` — expands an idea into `docs/project/{00,01,02,07}`.
54
+ - `architect` — fills in `docs/project/{03,04}` (architecture, tech stack).
55
+ - `builder` — takes one TASK and edits code.
56
+ - `reviewer` — compares the diff against the Acceptance Criteria.
57
+ - `tester` — runs the Test Plan and fills in Test Result.
58
+ - `docs` — updates `05-current-state.md`, the TASK Result, and `docs/logs/`.
59
+ - `recovery` — diagnoses rollback options (destructive actions require `--confirm`).
60
+
61
+ ## Forbidden
62
+
63
+ - Changing requirements or implementing things "loosely" based on chat alone.
64
+ - Editing code or config **without reading the current TASK file**.
65
+ - Mixing **multiple TASKs** in one session, or adding a large structure (e.g. `src/`) without a TASK.
66
+ - Features **outside the TASK Scope** or **outside the MVP**.
67
+ - Creating similar modules **without searching first**.
68
+ - Performing **large refactors** without a dedicated TASK.
69
+ - Adding **Notion / Git integration** that the TASK does not authorize.
70
+ - Calling the TASK done without updating **`05-current-state.md` / the TASK file / `docs/logs/YYYY-MM-DD.md`**.
71
+
72
+ ## Cursor rule files
73
+
74
+ | File | Contents |
75
+ | ----------------------------------------------------- | --------------------------------------------------------- |
76
+ | `.cursor/rules/00-project-governance.mdc` | Source of truth, one-TASK rule, MVP scope |
77
+ | `.cursor/rules/01-agent-orchestration.mdc` | Roles of the 8 agents and how they collaborate |
78
+ | `.cursor/rules/02-task-workflow.mdc` | How to start / run / finish a TASK, dry-run first |
79
+ | `.cursor/rules/03-git-safety.mdc` | Branch / rollback safety, no force-push |
80
+ | `.cursor/rules/04-docs-update.mdc` | Mandatory doc updates after implementation |
81
+
82
+ ## Completion report
83
+
84
+ When you finish a TASK, include at least the following in your chat response:
85
+
86
+ 1. **TASK ID** (for example `TASK-001`).
87
+ 2. **Summary** — 2 to 4 sentences on what was achieved.
88
+ 3. **Changed files** — list of the main paths.
89
+ 4. **Verification** — the commands you ran and their results.
90
+ 5. **Doc updates** — confirm you updated `05-current-state.md`, the TASK's Result / Test Result, and `docs/logs/YYYY-MM-DD.md`.
91
+
92
+ Do not end the report with just "done".
93
+
94
+ ## VibeOps metadata
95
+
96
+ - Project name: `{{PROJECT_NAME}}`
97
+ - Bootstrapped by: VibeOps `{{VIBEOPS_VERSION}}`
98
+ - Created at: `{{CREATED_AT}}`
@@ -0,0 +1,38 @@
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.
@@ -0,0 +1,27 @@
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. -->
@@ -0,0 +1,30 @@
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. -->
@@ -0,0 +1,36 @@
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. -->
@@ -0,0 +1,34 @@
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. -->
@@ -0,0 +1,29 @@
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. -->
@@ -0,0 +1,35 @@
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.
@@ -0,0 +1,20 @@
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
+ -->
@@ -0,0 +1,23 @@
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.
@@ -0,0 +1,29 @@
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).
@@ -0,0 +1,28 @@
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. -->