vibe-me 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/LICENSE +21 -0
- package/README.md +161 -0
- package/bin/vibes.js +349 -0
- package/package.json +34 -0
- package/spec/VIBE_GUIDE.md +848 -0
- package/templates/architecture.md +42 -0
- package/templates/decisions.md +33 -0
- package/templates/entities.md +24 -0
- package/templates/flows.md +51 -0
- package/templates/purpose.md +33 -0
- package/templates/state.json +12 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
INSTRUCTIONS FOR AI AGENT:
|
|
5
|
+
Read .vibe/VIBE_GUIDE.md for the full specification.
|
|
6
|
+
Describe SYSTEMS, not files. Think: "Frontend", "API", "Database", "Auth" —
|
|
7
|
+
not "src/utils.ts" or "UserController class".
|
|
8
|
+
The diagram should fit on ONE SCREEN.
|
|
9
|
+
Delete these instruction comments when done.
|
|
10
|
+
-->
|
|
11
|
+
|
|
12
|
+
## Systems
|
|
13
|
+
|
|
14
|
+
<!--
|
|
15
|
+
Draw an ASCII or Mermaid diagram showing all major systems.
|
|
16
|
+
Each box is a system (Frontend, Backend, Database, AI Layer, etc.)
|
|
17
|
+
Each arrow is labeled with the protocol (HTTP, WebSocket, SQL, IPC, etc.)
|
|
18
|
+
|
|
19
|
+
Example:
|
|
20
|
+
┌──────────┐ HTTP ┌──────────┐ SQL ┌──────────┐
|
|
21
|
+
│ Frontend │ ───────────► │ Backend │ ───────────► │ Database │
|
|
22
|
+
└──────────┘ └──────────┘ └──────────┘
|
|
23
|
+
-->
|
|
24
|
+
|
|
25
|
+
## How They Connect
|
|
26
|
+
|
|
27
|
+
<!-- A table showing connections between systems -->
|
|
28
|
+
|
|
29
|
+
| From | To | Protocol | Purpose |
|
|
30
|
+
|---|---|---|---|
|
|
31
|
+
| | | | |
|
|
32
|
+
|
|
33
|
+
## Trust Boundaries
|
|
34
|
+
|
|
35
|
+
<!-- Optional but valuable. Where does trusted data end and untrusted data begin? -->
|
|
36
|
+
|
|
37
|
+
<!--
|
|
38
|
+
Example:
|
|
39
|
+
UNTRUSTED GATE TRUSTED
|
|
40
|
+
Browser input → Validation → API handler
|
|
41
|
+
API request → JWT verification → Database query
|
|
42
|
+
-->
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Decisions
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
INSTRUCTIONS FOR AI AGENT:
|
|
5
|
+
Read .vibe/VIBE_GUIDE.md for the full specification.
|
|
6
|
+
This is the MOST IMPORTANT file. Most repos are impossible to understand
|
|
7
|
+
because nobody recorded WHY choices were made.
|
|
8
|
+
|
|
9
|
+
For each decision:
|
|
10
|
+
1. State the choice that was made
|
|
11
|
+
2. Explain the context and constraints
|
|
12
|
+
3. List the alternatives that were considered
|
|
13
|
+
4. State the tradeoff that was accepted
|
|
14
|
+
|
|
15
|
+
Research sources: git log, PR descriptions, code comments (HACK/NOTE/TODO),
|
|
16
|
+
pinned dependency versions, README history.
|
|
17
|
+
|
|
18
|
+
If you can't determine WHY from the code, ASK THE USER.
|
|
19
|
+
Every project has at least: language choice, framework choice, database choice.
|
|
20
|
+
Delete these instruction comments when done.
|
|
21
|
+
-->
|
|
22
|
+
|
|
23
|
+
## Why [technology/approach] instead of [alternative]?
|
|
24
|
+
|
|
25
|
+
[Context and constraints that led to this choice]
|
|
26
|
+
|
|
27
|
+
[Alternatives considered and why they were rejected]
|
|
28
|
+
|
|
29
|
+
[Tradeoffs accepted — what's the downside of this choice?]
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
<!-- Copy the template above for each major decision. Aim for 3-10 decisions. -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Entities
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
INSTRUCTIONS FOR AI AGENT:
|
|
5
|
+
Read .vibe/VIBE_GUIDE.md for the full specification.
|
|
6
|
+
List the important NOUNS of the system — things users create, view, or care about.
|
|
7
|
+
NOT internal classes, NOT framework concepts.
|
|
8
|
+
Look at: database tables, API resources, TypeScript interfaces, UI labels.
|
|
9
|
+
Every entity MUST have all 4 fields. "What depends on it?" is the most important.
|
|
10
|
+
Delete these instruction comments when done.
|
|
11
|
+
-->
|
|
12
|
+
|
|
13
|
+
## [Entity Name]
|
|
14
|
+
|
|
15
|
+
[One sentence: what is this thing?]
|
|
16
|
+
|
|
17
|
+
- **What is it?** [Detailed explanation]
|
|
18
|
+
- **Who creates it?** [What user action or system process brings it into existence]
|
|
19
|
+
- **Who modifies it?** [What can change it after creation]
|
|
20
|
+
- **What depends on it?** [What breaks if this entity is deleted or modified]
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
<!-- Copy the template above for each entity. Most projects have 5-15 entities. -->
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Flows
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
INSTRUCTIONS FOR AI AGENT:
|
|
5
|
+
Read .vibe/VIBE_GUIDE.md for the full specification.
|
|
6
|
+
Describe USER JOURNEYS — what a user DOES and SEES, not internal processing.
|
|
7
|
+
Use simple arrow notation. Every project needs at least 2 flows.
|
|
8
|
+
If this is a library with no user flows, write "N/A — library" and describe the integration pattern instead.
|
|
9
|
+
Delete these instruction comments when done.
|
|
10
|
+
-->
|
|
11
|
+
|
|
12
|
+
## 1. [Primary Value Flow — the main thing users come to do]
|
|
13
|
+
|
|
14
|
+
<!--
|
|
15
|
+
Example:
|
|
16
|
+
User opens the app
|
|
17
|
+
↓
|
|
18
|
+
Searches for a document
|
|
19
|
+
↓
|
|
20
|
+
Uploads a file
|
|
21
|
+
↓
|
|
22
|
+
AI processes it (loading spinner, ~10 seconds)
|
|
23
|
+
↓
|
|
24
|
+
Results displayed in dashboard
|
|
25
|
+
-->
|
|
26
|
+
|
|
27
|
+
## 2. [Onboarding Flow — how a new user gets started]
|
|
28
|
+
|
|
29
|
+
<!--
|
|
30
|
+
Example:
|
|
31
|
+
User visits landing page
|
|
32
|
+
↓
|
|
33
|
+
Clicks "Sign Up" → enters email and password
|
|
34
|
+
↓
|
|
35
|
+
Receives verification email → clicks link
|
|
36
|
+
↓
|
|
37
|
+
Redirected to onboarding wizard
|
|
38
|
+
↓
|
|
39
|
+
Completes setup → sees dashboard
|
|
40
|
+
-->
|
|
41
|
+
|
|
42
|
+
## 3. [Error/Recovery Flow — what happens when something goes wrong]
|
|
43
|
+
|
|
44
|
+
<!--
|
|
45
|
+
Example:
|
|
46
|
+
User encounters an error
|
|
47
|
+
↓
|
|
48
|
+
Error message displayed with action options
|
|
49
|
+
↓
|
|
50
|
+
User retries or contacts support
|
|
51
|
+
-->
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Purpose
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
INSTRUCTIONS FOR AI AGENT:
|
|
5
|
+
Read .vibe/VIBE_GUIDE.md for the full specification.
|
|
6
|
+
Fill out each section below based on your analysis of the codebase.
|
|
7
|
+
If you can't determine something from the code, ASK THE USER.
|
|
8
|
+
Delete these instruction comments when done.
|
|
9
|
+
-->
|
|
10
|
+
|
|
11
|
+
## What is this?
|
|
12
|
+
|
|
13
|
+
<!-- 1-3 sentences. No jargon. A non-technical person should understand. -->
|
|
14
|
+
|
|
15
|
+
## Who is it for?
|
|
16
|
+
|
|
17
|
+
<!-- Specific user personas. Not "developers" — what KIND of developers? -->
|
|
18
|
+
|
|
19
|
+
## What problem does it solve?
|
|
20
|
+
|
|
21
|
+
<!-- The pain point that existed before this project. What was the user doing before? Why was that bad? -->
|
|
22
|
+
|
|
23
|
+
## What does success look like?
|
|
24
|
+
|
|
25
|
+
<!-- A concrete scenario. "A user does X, then Y, then Z, and it feels like W." -->
|
|
26
|
+
|
|
27
|
+
## What does it explicitly NOT do?
|
|
28
|
+
|
|
29
|
+
<!-- Hard boundaries. At least 3 items. Things users might expect but will never get. -->
|
|
30
|
+
|
|
31
|
+
-
|
|
32
|
+
-
|
|
33
|
+
-
|