@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.
Files changed (144) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/README.md +51 -380
  3. package/dist/bootstrap/installer.js +42 -20
  4. package/dist/bootstrap/manifest.js +23 -3
  5. package/dist/cli.js +69 -154
  6. package/dist/commands/init.js +279 -114
  7. package/dist/commands/llm.js +177 -0
  8. package/dist/commands/status.js +181 -8
  9. package/dist/commands/task-add.js +89 -162
  10. package/dist/commands/task-done.js +112 -73
  11. package/dist/lib/config.js +77 -113
  12. package/dist/lib/env.js +32 -0
  13. package/dist/lib/git-config.js +21 -0
  14. package/dist/lib/git-host.js +12 -0
  15. package/dist/lib/git-policy.js +67 -0
  16. package/dist/lib/git-remote.js +108 -0
  17. package/dist/lib/git.js +44 -1
  18. package/dist/lib/init-clients.js +55 -0
  19. package/dist/lib/llm-complete.js +18 -19
  20. package/dist/lib/llm-connect.js +150 -0
  21. package/dist/lib/llm-preference.js +102 -0
  22. package/dist/lib/llm-status.js +19 -0
  23. package/dist/lib/paths.js +7 -3
  24. package/dist/lib/plan-llm-openai.js +0 -63
  25. package/dist/lib/pr-create.js +66 -0
  26. package/dist/lib/resolve-task.js +34 -0
  27. package/dist/lib/task-add-llm.js +53 -233
  28. package/dist/lib/task-context.js +68 -0
  29. package/dist/lib/task-done-llm.js +155 -0
  30. package/dist/lib/task-pr-llm.js +50 -0
  31. package/dist/lib/task-push-pr.js +131 -0
  32. package/dist/lib/task-scaffold.js +39 -43
  33. package/dist/lib/task-start.js +100 -0
  34. package/dist/lib/task-summary.js +12 -239
  35. package/dist/lib/task.js +30 -24
  36. package/dist/types/config.js +0 -16
  37. package/package.json +14 -14
  38. package/templates/.cursor/rules/02-git-safety.mdc +12 -0
  39. package/templates/AGENTS.md +27 -87
  40. package/templates/clients/claude/CLAUDE.md +28 -0
  41. package/templates/clients/cursor/.cursor/rules/01-task-source-of-truth.mdc +12 -0
  42. package/templates/clients/cursor/.cursor/rules/02-git-safety.mdc +11 -0
  43. package/templates/clients/cursor/.cursor/rules/03-docs-on-done.mdc +13 -0
  44. package/templates/core/AGENTS.md +44 -0
  45. package/templates/core/docs/logs/README.md +7 -0
  46. package/templates/core/docs/project/03-architecture.md +15 -0
  47. package/templates/core/docs/project/05-current-state.md +15 -0
  48. package/templates/core/docs/project/06-decisions.md +9 -0
  49. package/templates/core/docs/tasks/TASK-000-template.md +37 -0
  50. package/templates/skills-shared/implement-task/SKILL.md +22 -0
  51. package/templates/skills-shared/plan-task/SKILL.md +19 -0
  52. package/dist/agent/loader.js +0 -71
  53. package/dist/agent/prompt.js +0 -66
  54. package/dist/commands/agent-list.js +0 -32
  55. package/dist/commands/agent-prompt.js +0 -59
  56. package/dist/commands/agent-show.js +0 -26
  57. package/dist/commands/done.js +0 -160
  58. package/dist/commands/github-init.js +0 -554
  59. package/dist/commands/github-status.js +0 -164
  60. package/dist/commands/next.js +0 -283
  61. package/dist/commands/notion-init.js +0 -764
  62. package/dist/commands/notion-sync.js +0 -405
  63. package/dist/commands/notion-test.js +0 -595
  64. package/dist/commands/plan.js +0 -146
  65. package/dist/commands/rollback.js +0 -126
  66. package/dist/commands/start.js +0 -129
  67. package/dist/commands/task-check.js +0 -155
  68. package/dist/commands/task-generate.js +0 -206
  69. package/dist/commands/task-pull.js +0 -277
  70. package/dist/commands/task-rollback.js +0 -174
  71. package/dist/commands/task-start.js +0 -102
  72. package/dist/commands/task-status.js +0 -122
  73. package/dist/lib/brief.js +0 -356
  74. package/dist/lib/cursor-task-prompt.js +0 -60
  75. package/dist/lib/done-follow-up.js +0 -308
  76. package/dist/lib/github-cli.js +0 -247
  77. package/dist/lib/guide-state.js +0 -69
  78. package/dist/lib/mvp-artifacts.js +0 -204
  79. package/dist/lib/mvp-constants.js +0 -15
  80. package/dist/lib/mvp-diff-summary.js +0 -43
  81. package/dist/lib/mvp-done-summary.js +0 -335
  82. package/dist/lib/notion-client.js +0 -459
  83. package/dist/lib/notion-discovery.js +0 -671
  84. package/dist/lib/notion-env.js +0 -140
  85. package/dist/lib/notion-mappers.js +0 -148
  86. package/dist/lib/notion-schema.js +0 -272
  87. package/dist/lib/notion-sync.js +0 -337
  88. package/dist/lib/notion-target.js +0 -247
  89. package/dist/lib/package-json.js +0 -133
  90. package/dist/lib/plan-apply-planner.js +0 -131
  91. package/dist/lib/plan-codex-pkce.js +0 -234
  92. package/dist/lib/plan-llm-models.js +0 -237
  93. package/dist/lib/plan-llm-normalize.js +0 -146
  94. package/dist/lib/plan-llm-session.js +0 -682
  95. package/dist/lib/plan-post-apply-setup.js +0 -116
  96. package/dist/lib/project-docs.js +0 -95
  97. package/dist/lib/prompt-builder.js +0 -135
  98. package/dist/lib/resolve-command-task.js +0 -40
  99. package/dist/lib/task-add-build-prompt.js +0 -39
  100. package/dist/lib/task-add-cursor.js +0 -81
  101. package/dist/lib/task-generator.js +0 -183
  102. package/dist/lib/task-merge.js +0 -220
  103. package/dist/lib/task-prompt.js +0 -23
  104. package/dist/lib/task-pull.js +0 -354
  105. package/dist/lib/task-status-brief.js +0 -132
  106. package/dist/lib/workflow-guide.js +0 -485
  107. package/dist/status/collector.js +0 -103
  108. package/dist/status/format.js +0 -181
  109. package/dist/types/brief.js +0 -126
  110. package/templates/.cursor/rules/00-project-governance.mdc +0 -28
  111. package/templates/.cursor/rules/01-agent-orchestration.mdc +0 -48
  112. package/templates/.cursor/rules/02-task-workflow.mdc +0 -38
  113. package/templates/.cursor/rules/03-git-safety.mdc +0 -30
  114. package/templates/.cursor/rules/04-docs-update.mdc +0 -22
  115. package/templates/.vibeops/agents/architect.md +0 -47
  116. package/templates/.vibeops/agents/builder.md +0 -38
  117. package/templates/.vibeops/agents/docs.md +0 -54
  118. package/templates/.vibeops/agents/orchestrator.md +0 -40
  119. package/templates/.vibeops/agents/planner.md +0 -60
  120. package/templates/.vibeops/agents/recovery.md +0 -49
  121. package/templates/.vibeops/agents/reviewer.md +0 -47
  122. package/templates/.vibeops/agents/tester.md +0 -43
  123. package/templates/.vibeops/prompts/create-plan.md +0 -33
  124. package/templates/.vibeops/prompts/generate-tasks.md +0 -41
  125. package/templates/.vibeops/prompts/implement-task.md +0 -39
  126. package/templates/.vibeops/prompts/review-task.md +0 -34
  127. package/templates/.vibeops/prompts/rollback.md +0 -32
  128. package/templates/.vibeops/prompts/start-project.md +0 -39
  129. package/templates/.vibeops/workflows/notion-sync.md +0 -53
  130. package/templates/.vibeops/workflows/project-start.md +0 -73
  131. package/templates/.vibeops/workflows/rollback.md +0 -45
  132. package/templates/.vibeops/workflows/task-lifecycle.md +0 -71
  133. package/templates/docs/logs/README.md +0 -38
  134. package/templates/docs/project/00-overview.md +0 -27
  135. package/templates/docs/project/01-requirements.md +0 -30
  136. package/templates/docs/project/02-mvp-scope.md +0 -36
  137. package/templates/docs/project/03-architecture.md +0 -34
  138. package/templates/docs/project/04-tech-stack.md +0 -29
  139. package/templates/docs/project/05-current-state.md +0 -35
  140. package/templates/docs/project/06-decisions.md +0 -20
  141. package/templates/docs/project/07-backlog.md +0 -23
  142. package/templates/docs/project/08-env.md +0 -29
  143. package/templates/docs/project/09-deployment.md +0 -28
  144. 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)