@codemcp/workflows 6.0.4 → 6.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.
- package/package.json +2 -2
- package/packages/cli/dist/{chunk-RTDQR2KY.js → chunk-D2Q6Y3QQ.js} +5 -4
- package/packages/cli/dist/{cli-NHYEKRXH.js → cli-UWGNSSFS.js} +3 -3
- package/packages/cli/dist/{dist-KZOA4GL5.js → dist-W7PPKVFG.js} +1 -1
- package/packages/cli/dist/{dist-6TO57O6M.js → dist-W7VMGB3G.js} +7 -5
- package/packages/cli/dist/index.js +2 -2
- package/packages/cli/package.json +1 -1
- package/packages/cli/resources/workflows/skilled-bugfix.yaml +182 -0
- package/packages/cli/resources/workflows/skilled-epcc.yaml +171 -0
- package/packages/cli/resources/workflows/skilled-greenfield.yaml +206 -0
- package/packages/core/dist/transition-engine.js +6 -4
- package/packages/core/dist/transition-engine.js.map +1 -1
- package/packages/core/package.json +1 -1
- package/packages/core/resources/workflows/skilled-bugfix.yaml +182 -0
- package/packages/core/resources/workflows/skilled-epcc.yaml +171 -0
- package/packages/core/resources/workflows/skilled-greenfield.yaml +206 -0
- package/packages/docs/.vitepress/dist/404.html +2 -2
- package/packages/docs/.vitepress/dist/assets/{app.Dz3lZH3M.js → app.BRB3NIl4.js} +1 -1
- package/packages/docs/.vitepress/dist/assets/chunks/{theme.q5Ewb3F1.js → theme.DMKMhwGo.js} +1 -1
- package/packages/docs/.vitepress/dist/assets/workflows_skilled-bugfix.md.YyOU6NjA.js +1 -0
- package/packages/docs/.vitepress/dist/assets/workflows_skilled-bugfix.md.YyOU6NjA.lean.js +1 -0
- package/packages/docs/.vitepress/dist/assets/workflows_skilled-epcc.md.BGeI6g1n.js +1 -0
- package/packages/docs/.vitepress/dist/assets/workflows_skilled-epcc.md.BGeI6g1n.lean.js +1 -0
- package/packages/docs/.vitepress/dist/assets/workflows_skilled-greenfield.md.CKxrbPQ-.js +1 -0
- package/packages/docs/.vitepress/dist/assets/workflows_skilled-greenfield.md.CKxrbPQ-.lean.js +1 -0
- package/packages/docs/.vitepress/dist/dev/ARCHITECTURE.html +3 -3
- package/packages/docs/.vitepress/dist/dev/DEVELOPMENT.html +3 -3
- package/packages/docs/.vitepress/dist/dev/LOGGING.html +3 -3
- package/packages/docs/.vitepress/dist/dev/PUBLISHING.html +3 -3
- package/packages/docs/.vitepress/dist/hashmap.json +1 -1
- package/packages/docs/.vitepress/dist/index.html +3 -3
- package/packages/docs/.vitepress/dist/user/advanced-engineering.html +3 -3
- package/packages/docs/.vitepress/dist/user/agent-setup.html +3 -3
- package/packages/docs/.vitepress/dist/user/beads-integration.html +3 -3
- package/packages/docs/.vitepress/dist/user/crowd-mcp-integration.html +3 -3
- package/packages/docs/.vitepress/dist/user/custom-workflows.html +3 -3
- package/packages/docs/.vitepress/dist/user/git-commit-feature.html +3 -3
- package/packages/docs/.vitepress/dist/user/how-it-works.html +3 -3
- package/packages/docs/.vitepress/dist/user/long-term-memory.html +3 -3
- package/packages/docs/.vitepress/dist/user/packaged-workflows.html +3 -3
- package/packages/docs/.vitepress/dist/user/tutorial.html +3 -3
- package/packages/docs/.vitepress/dist/user/workflow-selection.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/adr.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/big-bang-conversion.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/boundary-testing.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/bugfix.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/business-analysis.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/c4-analysis.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/epcc.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/game-beginner.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/greenfield.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/minor.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/posts.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/sdd-bugfix-crowd.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/sdd-bugfix.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/sdd-feature-crowd.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/sdd-feature.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/sdd-greenfield-crowd.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/sdd-greenfield.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/skilled-bugfix.html +26 -0
- package/packages/docs/.vitepress/dist/workflows/skilled-bugfix.yaml +182 -0
- package/packages/docs/.vitepress/dist/workflows/skilled-epcc.html +26 -0
- package/packages/docs/.vitepress/dist/workflows/skilled-epcc.yaml +171 -0
- package/packages/docs/.vitepress/dist/workflows/skilled-greenfield.html +26 -0
- package/packages/docs/.vitepress/dist/workflows/skilled-greenfield.yaml +206 -0
- package/packages/docs/.vitepress/dist/workflows/slides.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/tdd.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/waterfall.html +3 -3
- package/packages/docs/.vitepress/dist/workflows.html +3 -3
- package/packages/docs/package.json +1 -1
- package/packages/mcp-server/dist/index.js +7 -5
- package/packages/mcp-server/package.json +1 -1
- package/packages/mcp-server/resources/workflows/skilled-bugfix.yaml +182 -0
- package/packages/mcp-server/resources/workflows/skilled-epcc.yaml +171 -0
- package/packages/mcp-server/resources/workflows/skilled-greenfield.yaml +206 -0
- package/packages/visualizer/dist/services/workflow-list.ts +3 -0
- package/packages/visualizer/package.json +1 -1
- package/resources/workflows/skilled-bugfix.yaml +182 -0
- package/resources/workflows/skilled-epcc.yaml +171 -0
- package/resources/workflows/skilled-greenfield.yaml +206 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'skilled-greenfield'
|
|
3
|
+
description: 'A comprehensive workflow for starting new projects from scratch: Ideation, Architecture, Plan, Code, Document - ideal for greenfield projects requiring thorough upfront planning'
|
|
4
|
+
initial_state: 'ideation'
|
|
5
|
+
|
|
6
|
+
# Enhanced metadata for better discoverability
|
|
7
|
+
metadata:
|
|
8
|
+
domain: 'skilled'
|
|
9
|
+
complexity: 'high'
|
|
10
|
+
bestFor:
|
|
11
|
+
- 'New projects from scratch'
|
|
12
|
+
- 'Greenfield development'
|
|
13
|
+
- 'Complex system design'
|
|
14
|
+
- 'Comprehensive planning needed'
|
|
15
|
+
useCases:
|
|
16
|
+
- 'Starting a new application'
|
|
17
|
+
- 'Building a new service'
|
|
18
|
+
- 'Creating a new library'
|
|
19
|
+
examples:
|
|
20
|
+
- 'Build a new web application'
|
|
21
|
+
- 'Create a microservice architecture'
|
|
22
|
+
- 'Develop a new CLI tool'
|
|
23
|
+
requiresDocumentation: true
|
|
24
|
+
|
|
25
|
+
# States with default instructions and transitions
|
|
26
|
+
states:
|
|
27
|
+
ideation:
|
|
28
|
+
description: 'Deep requirements discovery and PRD creation phase'
|
|
29
|
+
default_instructions: |
|
|
30
|
+
Understand WHAT the system should do, WHO will use it, WHY it's needed, and WHAT'S in/out of scope by exploring:
|
|
31
|
+
- Are there existing solutions? What gaps do they have?
|
|
32
|
+
- What technologies must/cannot be used? Why?
|
|
33
|
+
- How will you measure product success?
|
|
34
|
+
- Have you validated this need with potential users?
|
|
35
|
+
|
|
36
|
+
Use the **starting-project** skill to understand how SAB projects are set up and what conventions and tooling to expect.
|
|
37
|
+
|
|
38
|
+
Don't discuss technical implementation yet - focus purely on understanding the problem space and requirements. Check whether there is a requirements document in the project and if so, read it carefully. Create tasks as needed.
|
|
39
|
+
transitions:
|
|
40
|
+
- trigger: 'ideation_complete'
|
|
41
|
+
to: 'architecture'
|
|
42
|
+
transition_reason: 'PRD is complete with clear requirements, ready for technical architecture design'
|
|
43
|
+
review_perspectives:
|
|
44
|
+
- perspective: 'business_analyst'
|
|
45
|
+
prompt: 'Review the Product Requirements Document for completeness, clarity, and business value. Ensure all stakeholder needs are captured, requirements are testable, and scope is well-defined.'
|
|
46
|
+
- perspective: 'ux_expert'
|
|
47
|
+
prompt: 'Evaluate user experience requirements and usability considerations. Ensure user personas, workflows, and interaction patterns are properly defined for the greenfield project.'
|
|
48
|
+
|
|
49
|
+
architecture:
|
|
50
|
+
description: 'Tech stack selection and architecture design phase'
|
|
51
|
+
default_instructions: |
|
|
52
|
+
Design the technical solution based on the requirements discovered during ideation.
|
|
53
|
+
|
|
54
|
+
- Ask about the user's technical preferences and experience
|
|
55
|
+
- Challenge their choices by presenting alternatives
|
|
56
|
+
- Evaluate pros and cons of different tech stacks, frameworks, and architectural patterns
|
|
57
|
+
- Consider non-functional requirements like scalability, performance, maintainability, and deployment
|
|
58
|
+
- Use the **architecture** skill to understand SAB architectural conventions and apply them to your design
|
|
59
|
+
|
|
60
|
+
Check whether there is an architecture document in the project and if so, read and build on it. Don't start coding yet - focus on technical design decisions.
|
|
61
|
+
transitions:
|
|
62
|
+
- trigger: 'need_more_ideation'
|
|
63
|
+
to: 'ideation'
|
|
64
|
+
additional_instructions: 'Architecture work revealed gaps in requirements understanding. Focus on the specific requirements areas that need clarification before continuing with technical design.'
|
|
65
|
+
transition_reason: 'Architecture work revealed need for more requirements clarification'
|
|
66
|
+
|
|
67
|
+
- trigger: 'architecture_complete'
|
|
68
|
+
to: 'plan'
|
|
69
|
+
additional_instructions: 'Present the implementation plan to the user and document it thoroughly.'
|
|
70
|
+
transition_reason: 'Technical architecture is complete, ready for implementation planning'
|
|
71
|
+
review_perspectives:
|
|
72
|
+
- perspective: 'architect'
|
|
73
|
+
prompt: 'Review the technical architecture for completeness, scalability, and maintainability. Ensure technology choices are appropriate and architectural patterns are sound for a greenfield project.'
|
|
74
|
+
- perspective: 'security_expert'
|
|
75
|
+
prompt: 'Evaluate security architecture, data protection strategies, and potential vulnerabilities. Ensure security is built into the foundation of the greenfield project from the start.'
|
|
76
|
+
|
|
77
|
+
- trigger: 'abandon_project'
|
|
78
|
+
to: 'ideation'
|
|
79
|
+
instructions: >
|
|
80
|
+
Project development abandoned during architecture phase. Return to ideation state for new projects.
|
|
81
|
+
Task history and PRD will remain for future reference.
|
|
82
|
+
additional_instructions: 'Project development abandoned during architecture phase. Clean up any architecture work and prepare for new projects.'
|
|
83
|
+
transition_reason: 'User decided to abandon project during architecture phase'
|
|
84
|
+
|
|
85
|
+
plan:
|
|
86
|
+
description: 'Implementation planning phase based on established architecture'
|
|
87
|
+
default_instructions: |
|
|
88
|
+
Create a detailed implementation strategy based on your completed architecture and requirements.
|
|
89
|
+
|
|
90
|
+
- Use the **application-design** skill when planning authentication, routing, error handling, or forms
|
|
91
|
+
- Check whether there is a design document in the project and adhere to it
|
|
92
|
+
|
|
93
|
+
**STEP 1: Break Down Work**
|
|
94
|
+
- Break down the work into specific, actionable tasks
|
|
95
|
+
- Consider the chosen tech stack and architectural decisions
|
|
96
|
+
- Plan the implementation order and identify dependencies
|
|
97
|
+
|
|
98
|
+
**STEP 2: Assess Risks**
|
|
99
|
+
- Consider potential risks and mitigation strategies
|
|
100
|
+
- Document the detailed design if needed
|
|
101
|
+
|
|
102
|
+
**STEP 3: Create Tasks**
|
|
103
|
+
- Create tasks thoroughly with clear milestones for implementation work
|
|
104
|
+
- Ensure each task is actionable and has clear acceptance criteria
|
|
105
|
+
transitions:
|
|
106
|
+
- trigger: 'need_architecture_changes'
|
|
107
|
+
to: 'architecture'
|
|
108
|
+
additional_instructions: "Planning revealed issues with the current architecture. Consider what you've learned during planning and adjust the technical design accordingly. Document the changes and reasons."
|
|
109
|
+
transition_reason: 'Planning work revealed need to revise the architecture'
|
|
110
|
+
|
|
111
|
+
- trigger: 'plan_complete'
|
|
112
|
+
to: 'code'
|
|
113
|
+
additional_instructions: "Implementation plan is complete! ✅ Now transition to coding phase. Read specific documentation before using the chosen libraries and frameworks. Follow the architectural patterns and tech stack decisions you've made. Modularize your code according to best practices. Stay focused on the current project scope defined in your PRD. Update task progress as you complete planning work."
|
|
114
|
+
transition_reason: 'Implementation plan is complete and ready for coding'
|
|
115
|
+
|
|
116
|
+
- trigger: 'abandon_project'
|
|
117
|
+
to: 'ideation'
|
|
118
|
+
instructions: >
|
|
119
|
+
Project development abandoned during planning. Return to ideation state for new projects.
|
|
120
|
+
Task history, PRD, and architecture documentation will remain for future reference.
|
|
121
|
+
additional_instructions: 'Project development abandoned during planning. Clean up any planning work and prepare for new projects.'
|
|
122
|
+
transition_reason: 'User decided to abandon project during planning phase'
|
|
123
|
+
|
|
124
|
+
code:
|
|
125
|
+
description: 'Implementation phase following the established plan and architecture'
|
|
126
|
+
default_instructions: |
|
|
127
|
+
Build the solution following your plan and architecture.
|
|
128
|
+
|
|
129
|
+
- Check whether there is a design document in the project and follow it
|
|
130
|
+
- Check whether there is a requirements document in the project and ensure all requirements you are currently working on are met
|
|
131
|
+
- Use the **coding** skill to implement components, styling, and coding patterns. Apply this skill to all coding tasks of this phase!
|
|
132
|
+
- Use the **testing** skill to write and run tests. Apply this skill to all test tasks of this phase!
|
|
133
|
+
- Write clean, well-structured code with proper error handling
|
|
134
|
+
- Prevent regression by building, linting, and executing existing tests
|
|
135
|
+
- Stay flexible and adapt the plan as you learn more during implementation, but maintain alignment with your architecture decisions
|
|
136
|
+
- Update task progress and create new tasks as needed for current phase work
|
|
137
|
+
transitions:
|
|
138
|
+
- trigger: 'need_replanning'
|
|
139
|
+
to: 'plan'
|
|
140
|
+
additional_instructions: "Implementation revealed issues with the current plan. Consider what you've learned during coding and adjust the implementation strategy accordingly while maintaining architectural consistency. Document the changes and reasons."
|
|
141
|
+
transition_reason: 'Implementation work revealed need to revise the plan'
|
|
142
|
+
|
|
143
|
+
- trigger: 'need_architecture_changes'
|
|
144
|
+
to: 'architecture'
|
|
145
|
+
additional_instructions: 'Implementation revealed fundamental issues with the architecture that require design changes. Focus on the specific architectural problems that are blocking implementation progress.'
|
|
146
|
+
transition_reason: 'Implementation work revealed need for architectural changes'
|
|
147
|
+
|
|
148
|
+
- trigger: 'code_complete'
|
|
149
|
+
to: 'finalize'
|
|
150
|
+
transition_reason: 'Core implementation is complete, ready for comprehensive documentation'
|
|
151
|
+
|
|
152
|
+
- trigger: 'abandon_project'
|
|
153
|
+
to: 'ideation'
|
|
154
|
+
instructions: >
|
|
155
|
+
Project development abandoned during implementation. Clean up any incomplete code and return to ideation.
|
|
156
|
+
Task history, PRD, architecture documentation, and any completed work will remain for future reference.
|
|
157
|
+
additional_instructions: 'Project development abandoned during implementation. Clean up any incomplete code and prepare for new projects.'
|
|
158
|
+
transition_reason: 'User decided to abandon project during implementation'
|
|
159
|
+
|
|
160
|
+
finalize:
|
|
161
|
+
description: 'Code cleanup and documentation finalization'
|
|
162
|
+
default_instructions: |
|
|
163
|
+
This phase ensures code quality and documentation accuracy through systematic cleanup and review.
|
|
164
|
+
|
|
165
|
+
**STEP 1: Code Cleanup**
|
|
166
|
+
Systematically clean up development artifacts:
|
|
167
|
+
|
|
168
|
+
1. Remove all temporary debug output statements used during development (console logging, print statements, debug functions)
|
|
169
|
+
2. Address each TODO/FIXME comment by either implementing the solution or documenting why it's deferred
|
|
170
|
+
- Remove completed TODOs
|
|
171
|
+
- Convert remaining TODOs to proper issue tracking if needed
|
|
172
|
+
3. Remove debugging code blocks, temporary test code, and commented-out code
|
|
173
|
+
- Ensure proper error handling replaces temporary debug logging
|
|
174
|
+
|
|
175
|
+
**STEP 2: Documentation Review**
|
|
176
|
+
Update documentation to reflect final implementation:
|
|
177
|
+
|
|
178
|
+
1. Check whether there is a requirements, architecture, or design document in the project and update any that are affected by the implementation
|
|
179
|
+
2. Review documentation against actual implemented functionality
|
|
180
|
+
3. Only modify documentation sections that have functional changes
|
|
181
|
+
4. Remove references to development iterations, progress notes, and temporary decisions
|
|
182
|
+
5. Ensure documentation describes the final implemented state, not the development process
|
|
183
|
+
6. Ask user to review document updates
|
|
184
|
+
|
|
185
|
+
**STEP 3: Comprehensive Documentation**
|
|
186
|
+
Ensure project has complete documentation for newcomers including setup, usage, architecture overview, and contribution guidelines.
|
|
187
|
+
|
|
188
|
+
**STEP 4: Final Validation**
|
|
189
|
+
- Use the **testing** skill to run and verify all tests
|
|
190
|
+
- Verify documentation accuracy with a final review
|
|
191
|
+
- Ensure project is ready for users and contributors
|
|
192
|
+
- Update task progress and mark completed work as you finalize the project
|
|
193
|
+
transitions:
|
|
194
|
+
- trigger: 'need_code_changes'
|
|
195
|
+
to: 'code'
|
|
196
|
+
additional_instructions: 'Finalization revealed issues that require code changes. Focus on the problems identified during final review that affect usability or functionality.'
|
|
197
|
+
transition_reason: 'Finalization revealed issues requiring code changes'
|
|
198
|
+
|
|
199
|
+
- trigger: 'finalization_complete'
|
|
200
|
+
to: 'ideation'
|
|
201
|
+
transition_reason: 'Project delivery complete with finalized code and documentation, ready for next greenfield project'
|
|
202
|
+
|
|
203
|
+
- trigger: 'abandon_project'
|
|
204
|
+
to: 'ideation'
|
|
205
|
+
additional_instructions: 'Project development abandoned during finalization. Clean up any finalization artifacts and prepare for new projects.'
|
|
206
|
+
transition_reason: 'User decided to abandon project during finalization phase'
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/responsible-vibe-mcp/assets/style.CAgdBzOq.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/responsible-vibe-mcp/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/responsible-vibe-mcp/assets/app.
|
|
12
|
+
<script type="module" src="/responsible-vibe-mcp/assets/app.BRB3NIl4.js"></script>
|
|
13
13
|
<link rel="preload" href="/responsible-vibe-mcp/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
14
|
<link rel="icon" href="/responsible-vibe-mcp/favicon.ico">
|
|
15
15
|
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
</head>
|
|
18
18
|
<body>
|
|
19
19
|
<div id="app"></div>
|
|
20
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"da_vFDwM\",\"dev_development.md\":\"DWl9cccE\",\"dev_logging.md\":\"BebvbW7z\",\"dev_publishing.md\":\"CQqbiIOF\",\"index.md\":\"D6ROLohf\",\"user_advanced-engineering.md\":\"MkETYNtq\",\"user_agent-setup.md\":\"B54OLL2H\",\"user_beads-integration.md\":\"BzdR5Fif\",\"user_crowd-mcp-integration.md\":\"C15kSdIJ\",\"user_custom-workflows.md\":\"Cz4IYCXa\",\"user_git-commit-feature.md\":\"UcTvDR-O\",\"user_how-it-works.md\":\"DiOXNgaL\",\"user_long-term-memory.md\":\"DZh0tjNa\",\"user_packaged-workflows.md\":\"s1HT89ZU\",\"user_tutorial.md\":\"Dmj8zLB2\",\"user_workflow-selection.md\":\"CrPGw9Hr\",\"workflows.md\":\"Bm5sGt3u\",\"workflows_adr.md\":\"DEaXkbRp\",\"workflows_big-bang-conversion.md\":\"BA5R1LxZ\",\"workflows_boundary-testing.md\":\"DBcYnMhx\",\"workflows_bugfix.md\":\"CZRCL0Hp\",\"workflows_business-analysis.md\":\"fGLml8Hw\",\"workflows_c4-analysis.md\":\"Dnssqzuf\",\"workflows_epcc.md\":\"M6DnIhpp\",\"workflows_game-beginner.md\":\"CNxzWLtd\",\"workflows_greenfield.md\":\"vx_g-WOe\",\"workflows_minor.md\":\"DdnfwMf4\",\"workflows_posts.md\":\"SOldXvq7\",\"workflows_sdd-bugfix-crowd.md\":\"-lSf42gJ\",\"workflows_sdd-bugfix.md\":\"oRAsEVbc\",\"workflows_sdd-feature-crowd.md\":\"DAtnfCAd\",\"workflows_sdd-feature.md\":\"Ce3-H_g3\",\"workflows_sdd-greenfield-crowd.md\":\"8DUvcmLe\",\"workflows_sdd-greenfield.md\":\"eEN6U0J4\",\"workflows_slides.md\":\"Cqt-19_1\",\"workflows_tdd.md\":\"BjVC69tu\",\"workflows_waterfall.md\":\"CL6jTZP9\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
20
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"da_vFDwM\",\"dev_development.md\":\"DWl9cccE\",\"dev_logging.md\":\"BebvbW7z\",\"dev_publishing.md\":\"CQqbiIOF\",\"index.md\":\"D6ROLohf\",\"user_advanced-engineering.md\":\"MkETYNtq\",\"user_agent-setup.md\":\"B54OLL2H\",\"user_beads-integration.md\":\"BzdR5Fif\",\"user_crowd-mcp-integration.md\":\"C15kSdIJ\",\"user_custom-workflows.md\":\"Cz4IYCXa\",\"user_git-commit-feature.md\":\"UcTvDR-O\",\"user_how-it-works.md\":\"DiOXNgaL\",\"user_long-term-memory.md\":\"DZh0tjNa\",\"user_packaged-workflows.md\":\"s1HT89ZU\",\"user_tutorial.md\":\"Dmj8zLB2\",\"user_workflow-selection.md\":\"CrPGw9Hr\",\"workflows.md\":\"Bm5sGt3u\",\"workflows_adr.md\":\"DEaXkbRp\",\"workflows_big-bang-conversion.md\":\"BA5R1LxZ\",\"workflows_boundary-testing.md\":\"DBcYnMhx\",\"workflows_bugfix.md\":\"CZRCL0Hp\",\"workflows_business-analysis.md\":\"fGLml8Hw\",\"workflows_c4-analysis.md\":\"Dnssqzuf\",\"workflows_epcc.md\":\"M6DnIhpp\",\"workflows_game-beginner.md\":\"CNxzWLtd\",\"workflows_greenfield.md\":\"vx_g-WOe\",\"workflows_minor.md\":\"DdnfwMf4\",\"workflows_posts.md\":\"SOldXvq7\",\"workflows_sdd-bugfix-crowd.md\":\"-lSf42gJ\",\"workflows_sdd-bugfix.md\":\"oRAsEVbc\",\"workflows_sdd-feature-crowd.md\":\"DAtnfCAd\",\"workflows_sdd-feature.md\":\"Ce3-H_g3\",\"workflows_sdd-greenfield-crowd.md\":\"8DUvcmLe\",\"workflows_sdd-greenfield.md\":\"eEN6U0J4\",\"workflows_skilled-bugfix.md\":\"YyOU6NjA\",\"workflows_skilled-epcc.md\":\"BGeI6g1n\",\"workflows_skilled-greenfield.md\":\"CKxrbPQ-\",\"workflows_slides.md\":\"Cqt-19_1\",\"workflows_tdd.md\":\"BjVC69tu\",\"workflows_waterfall.md\":\"CL6jTZP9\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
21
21
|
|
|
22
22
|
</body>
|
|
23
23
|
</html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as p}from"./chunks/theme.
|
|
1
|
+
import{R as p}from"./chunks/theme.DMKMhwGo.js";import{R as s,a2 as i,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as g,ab as A,d as v,u as R,v as w,s as y,ac as C,ad as P,ae as b,a1 as E}from"./chunks/framework.DZS7lpav.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),S=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),P(),b(),n.setup&&n.setup(),()=>E(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(S)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp};
|
|
@@ -203,4 +203,4 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="<p>An error
|
|
|
203
203
|
`).join("")}
|
|
204
204
|
</div>
|
|
205
205
|
`:""}
|
|
206
|
-
`)}function y(){r.parentState?(r.selectedElement={type:"state",id:r.parentState.id,data:r.parentState.data},r.parentState=null,f()):C()}function C(){if(r.selectedElement=null,r.parentState=null,typeof document>"u")return;const w=document.querySelector(".side-panel-header");w&&(w.innerHTML="<h2>Details</h2>"),f()}return ue(async()=>{try{const w=new fu,k=document.querySelector("#workflow-selector"),I=document.querySelector("#file-upload"),N=gu("#diagram-canvas"),z=document.querySelector(".side-panel-content"),Y=document.querySelector(".side-panel-header"),q=new mu(N);q.setClickHandler((U,te,W)=>{U==="state"?s({elementType:"node",elementId:te,data:W}):U==="transition"?s({elementType:"transition",elementId:te,data:W}):U==="clear-selection"&&c()});const Ve=async U=>{const te=n.workflows.find(ye=>ye.name===U);if(!te)throw new Error(`Workflow '${U}' not found`);const W=await fetch(te.path);if(!W.ok)throw new Error(`Failed to load workflow: ${W.statusText}`);const Z=await W.text();return en(Z)};let J=null;if(I&&(J={setupEventListeners:()=>{I.addEventListener("change",async U=>{const te=U.target,W=te.files;if(!W||W.length===0)return;const Z=W[0];try{const ie=[".yaml",".yml"],ye=Z.name.toLowerCase();if(!ie.some(rt=>ye.endsWith(rt)))throw new Error("Invalid file type. Please select a .yaml or .yml file.");const Ht=1024*1024;if(Z.size>Ht)throw new Error(`File too large. Maximum size is ${Ht/1024/1024}MB.`);if(Z.size===0)throw new Error("File is empty.");const zt=await new Promise((rt,Dt)=>{const it=new FileReader;it.onload=qt=>{var jt;(jt=qt.target)!=null&&jt.result?rt(qt.target.result):Dt(new Error("Failed to read file content"))},it.onerror=()=>Dt(new Error("Error reading file")),it.readAsText(Z)});if(!zt.trim())throw new Error("Uploaded file is empty");N.innerHTML='<div class="loading-message">Loading uploaded workflow...</div>';const nt=en(zt);r.currentWorkflow=nt,r.selectedElement=null,r.highlightedPath=null,await q.renderWorkflow(nt),k&&(k.value=""),f(),console.log(`Successfully loaded uploaded workflow: ${nt.name||"Unnamed"}`)}catch(ie){console.error("Failed to load uploaded workflow:",ie),N.innerHTML=`<div class="loading-message">Failed to load workflow: ${ie.message}</div>`}finally{te.value=""}})}},J.setupEventListeners()),k&&(console.log("Setting up workflow selector, workflows:",n.workflows),o(),k.addEventListener("change",async U=>{const W=U.target.value;if(!W){N.innerHTML='<div class="loading-message">Select a workflow to visualize</div>';return}try{N.innerHTML='<div class="loading-message">Loading workflow...</div>';const Z=await Ve(W);r.currentWorkflow=Z,r.selectedElement=null,r.highlightedPath=null,await q.renderWorkflow(Z),f()}catch(Z){console.error("Failed to load workflow:",Z),N.innerHTML='<div class="loading-message">Failed to load workflow</div>'}})),n.initialWorkflow)try{const U=await Ve(n.initialWorkflow);r.currentWorkflow=U,r.selectedElement=null,r.highlightedPath=null,await q.renderWorkflow(U),k&&(k.value=n.initialWorkflow),f()}catch(U){console.error("Failed to load initial workflow:",U),N.innerHTML='<div class="loading-message">Failed to load workflow</div>'}i={plantUMLRenderer:q,fileUploadHandler:J,errorHandler:w}}catch(w){console.error("Failed to load WorkflowVisualizerApp:",w);const k=document.getElementById("error-container"),I=document.querySelector(".error-text");k&&I&&(I.textContent="Failed to load workflow visualizer",k.classList.remove("hidden"))}}),Ge(()=>{i=null}),(w,k)=>(u(),g("div",{id:"workflow-visualizer-app",class:O({fullscreen:!e.showSidebar})},[e.hideHeader?$("",!0):(u(),g("header",vu,[...k[0]||(k[0]=[sr('<h1>Workflow Visualizer</h1><div class="workflow-controls"><select id="workflow-selector" class="workflow-selector"><option value="">Select a workflow...</option></select><input type="file" id="file-upload" accept=".yaml,.yml" class="file-upload"><label for="file-upload" class="file-upload-label">Upload YAML</label></div>',2)])])),v("main",{class:O(["app-main",{"no-sidebar":!e.showSidebar}])},[v("div",ku,[v("div",bu,[v("div",xu,H(e.initialWorkflow?"Loading workflow...":"Select a workflow to visualize"),1)])]),e.showSidebar?(u(),g("aside",wu,[...k[1]||(k[1]=[v("div",{class:"side-panel-header"},[v("h2",null,"Details")],-1),v("div",{class:"side-panel-content"},[v("div",{class:"empty-state"}," Click on a state or transition to see details ")],-1)])])):$("",!0)],2),k[2]||(k[2]=v("div",{id:"error-container",class:"error-container hidden"},[v("div",{class:"error-message"},[v("span",{class:"error-text"}),v("button",{class:"error-close"},"×")])],-1))],2))}}),an=["adr","big-bang-conversion","boundary-testing","bugfix","business-analysis","c4-analysis","epcc","game-beginner","greenfield","minor","posts","sdd-bugfix-crowd","sdd-bugfix","sdd-feature-crowd","sdd-feature","sdd-greenfield-crowd","sdd-greenfield","slides","tdd","waterfall"],_u={key:1,class:"loading-message"},$u=S({__name:"WorkflowVisualizerWithData",props:{showSidebar:{type:Boolean,default:!0},hideHeader:{type:Boolean,default:!1},initialWorkflow:{default:""}},setup(e){const t=B(an.map(n=>({name:n,displayName:n.charAt(0).toUpperCase()+n.slice(1).replace(/-/g," "),path:`/responsible-vibe-mcp/workflows/${n}.yaml`})));return ue(()=>{console.log("WorkflowVisualizerWithData mounted"),console.log("AVAILABLE_WORKFLOWS:",an),console.log("workflows.value:",t.value),console.log("workflows.value length:",t.value.length),console.log("First workflow:",t.value[0]),window.debugWorkflows=t.value}),(n,i)=>t.value.length>0?(u(),T(h(yu),{key:0,workflows:t.value,"show-sidebar":e.showSidebar,"hide-header":e.hideHeader,"initial-workflow":e.initialWorkflow},null,8,["workflows","show-sidebar","hide-header","initial-workflow"])):(u(),g("div",_u,"Loading workflows..."))}}),Su=P($u,[["__scopeId","data-v-b5ec7de4"]]),Pu={extends:Ut,Layout:()=>lr(Ut.Layout,null,{}),enhanceApp({app:e,router:t,siteData:n}){e.component("WorkflowVisualizer",Su)}};export{Pu as R};
|
|
206
|
+
`)}function y(){r.parentState?(r.selectedElement={type:"state",id:r.parentState.id,data:r.parentState.data},r.parentState=null,f()):C()}function C(){if(r.selectedElement=null,r.parentState=null,typeof document>"u")return;const w=document.querySelector(".side-panel-header");w&&(w.innerHTML="<h2>Details</h2>"),f()}return ue(async()=>{try{const w=new fu,k=document.querySelector("#workflow-selector"),I=document.querySelector("#file-upload"),N=gu("#diagram-canvas"),z=document.querySelector(".side-panel-content"),Y=document.querySelector(".side-panel-header"),q=new mu(N);q.setClickHandler((U,te,W)=>{U==="state"?s({elementType:"node",elementId:te,data:W}):U==="transition"?s({elementType:"transition",elementId:te,data:W}):U==="clear-selection"&&c()});const Ve=async U=>{const te=n.workflows.find(ye=>ye.name===U);if(!te)throw new Error(`Workflow '${U}' not found`);const W=await fetch(te.path);if(!W.ok)throw new Error(`Failed to load workflow: ${W.statusText}`);const Z=await W.text();return en(Z)};let J=null;if(I&&(J={setupEventListeners:()=>{I.addEventListener("change",async U=>{const te=U.target,W=te.files;if(!W||W.length===0)return;const Z=W[0];try{const ie=[".yaml",".yml"],ye=Z.name.toLowerCase();if(!ie.some(rt=>ye.endsWith(rt)))throw new Error("Invalid file type. Please select a .yaml or .yml file.");const Ht=1024*1024;if(Z.size>Ht)throw new Error(`File too large. Maximum size is ${Ht/1024/1024}MB.`);if(Z.size===0)throw new Error("File is empty.");const zt=await new Promise((rt,Dt)=>{const it=new FileReader;it.onload=qt=>{var jt;(jt=qt.target)!=null&&jt.result?rt(qt.target.result):Dt(new Error("Failed to read file content"))},it.onerror=()=>Dt(new Error("Error reading file")),it.readAsText(Z)});if(!zt.trim())throw new Error("Uploaded file is empty");N.innerHTML='<div class="loading-message">Loading uploaded workflow...</div>';const nt=en(zt);r.currentWorkflow=nt,r.selectedElement=null,r.highlightedPath=null,await q.renderWorkflow(nt),k&&(k.value=""),f(),console.log(`Successfully loaded uploaded workflow: ${nt.name||"Unnamed"}`)}catch(ie){console.error("Failed to load uploaded workflow:",ie),N.innerHTML=`<div class="loading-message">Failed to load workflow: ${ie.message}</div>`}finally{te.value=""}})}},J.setupEventListeners()),k&&(console.log("Setting up workflow selector, workflows:",n.workflows),o(),k.addEventListener("change",async U=>{const W=U.target.value;if(!W){N.innerHTML='<div class="loading-message">Select a workflow to visualize</div>';return}try{N.innerHTML='<div class="loading-message">Loading workflow...</div>';const Z=await Ve(W);r.currentWorkflow=Z,r.selectedElement=null,r.highlightedPath=null,await q.renderWorkflow(Z),f()}catch(Z){console.error("Failed to load workflow:",Z),N.innerHTML='<div class="loading-message">Failed to load workflow</div>'}})),n.initialWorkflow)try{const U=await Ve(n.initialWorkflow);r.currentWorkflow=U,r.selectedElement=null,r.highlightedPath=null,await q.renderWorkflow(U),k&&(k.value=n.initialWorkflow),f()}catch(U){console.error("Failed to load initial workflow:",U),N.innerHTML='<div class="loading-message">Failed to load workflow</div>'}i={plantUMLRenderer:q,fileUploadHandler:J,errorHandler:w}}catch(w){console.error("Failed to load WorkflowVisualizerApp:",w);const k=document.getElementById("error-container"),I=document.querySelector(".error-text");k&&I&&(I.textContent="Failed to load workflow visualizer",k.classList.remove("hidden"))}}),Ge(()=>{i=null}),(w,k)=>(u(),g("div",{id:"workflow-visualizer-app",class:O({fullscreen:!e.showSidebar})},[e.hideHeader?$("",!0):(u(),g("header",vu,[...k[0]||(k[0]=[sr('<h1>Workflow Visualizer</h1><div class="workflow-controls"><select id="workflow-selector" class="workflow-selector"><option value="">Select a workflow...</option></select><input type="file" id="file-upload" accept=".yaml,.yml" class="file-upload"><label for="file-upload" class="file-upload-label">Upload YAML</label></div>',2)])])),v("main",{class:O(["app-main",{"no-sidebar":!e.showSidebar}])},[v("div",ku,[v("div",bu,[v("div",xu,H(e.initialWorkflow?"Loading workflow...":"Select a workflow to visualize"),1)])]),e.showSidebar?(u(),g("aside",wu,[...k[1]||(k[1]=[v("div",{class:"side-panel-header"},[v("h2",null,"Details")],-1),v("div",{class:"side-panel-content"},[v("div",{class:"empty-state"}," Click on a state or transition to see details ")],-1)])])):$("",!0)],2),k[2]||(k[2]=v("div",{id:"error-container",class:"error-container hidden"},[v("div",{class:"error-message"},[v("span",{class:"error-text"}),v("button",{class:"error-close"},"×")])],-1))],2))}}),an=["adr","big-bang-conversion","boundary-testing","bugfix","business-analysis","c4-analysis","epcc","game-beginner","greenfield","minor","posts","sdd-bugfix-crowd","sdd-bugfix","sdd-feature-crowd","sdd-feature","sdd-greenfield-crowd","sdd-greenfield","skilled-bugfix","skilled-epcc","skilled-greenfield","slides","tdd","waterfall"],_u={key:1,class:"loading-message"},$u=S({__name:"WorkflowVisualizerWithData",props:{showSidebar:{type:Boolean,default:!0},hideHeader:{type:Boolean,default:!1},initialWorkflow:{default:""}},setup(e){const t=B(an.map(n=>({name:n,displayName:n.charAt(0).toUpperCase()+n.slice(1).replace(/-/g," "),path:`/responsible-vibe-mcp/workflows/${n}.yaml`})));return ue(()=>{console.log("WorkflowVisualizerWithData mounted"),console.log("AVAILABLE_WORKFLOWS:",an),console.log("workflows.value:",t.value),console.log("workflows.value length:",t.value.length),console.log("First workflow:",t.value[0]),window.debugWorkflows=t.value}),(n,i)=>t.value.length>0?(u(),T(h(yu),{key:0,workflows:t.value,"show-sidebar":e.showSidebar,"hide-header":e.hideHeader,"initial-workflow":e.initialWorkflow},null,8,["workflows","show-sidebar","hide-header","initial-workflow"])):(u(),g("div",_u,"Loading workflows..."))}}),Su=P($u,[["__scopeId","data-v-b5ec7de4"]]),Pu={extends:Ut,Layout:()=>lr(Ut.Layout,null,{}),enhanceApp({app:e,router:t,siteData:n}){e.component("WorkflowVisualizer",Su)}};export{Pu as R};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as a,C as r,c as l,o as t,G as s,k as i}from"./chunks/framework.DZS7lpav.js";const k=JSON.parse('{"title":"","description":"","frontmatter":{"layout":false},"headers":[],"params":{"workflow":"skilled-bugfix"},"relativePath":"workflows/skilled-bugfix.md","filePath":"workflows/[workflow].md"}'),n={name:"workflows/skilled-bugfix.md"},d=Object.assign(n,{setup(f){const{params:e}=a();return(u,c)=>{const o=r("WorkflowVisualizer");return t(),l("div",null,[s(o,{showSidebar:!0,hideHeader:!0,initialWorkflow:i(e).workflow},null,8,["initialWorkflow"])])}}});export{k as __pageData,d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as a,C as r,c as l,o as t,G as s,k as i}from"./chunks/framework.DZS7lpav.js";const k=JSON.parse('{"title":"","description":"","frontmatter":{"layout":false},"headers":[],"params":{"workflow":"skilled-bugfix"},"relativePath":"workflows/skilled-bugfix.md","filePath":"workflows/[workflow].md"}'),n={name:"workflows/skilled-bugfix.md"},d=Object.assign(n,{setup(f){const{params:e}=a();return(u,c)=>{const o=r("WorkflowVisualizer");return t(),l("div",null,[s(o,{showSidebar:!0,hideHeader:!0,initialWorkflow:i(e).workflow},null,8,["initialWorkflow"])])}}});export{k as __pageData,d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as a,C as r,c as l,o as t,G as s,k as i}from"./chunks/framework.DZS7lpav.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":false},"headers":[],"params":{"workflow":"skilled-epcc"},"relativePath":"workflows/skilled-epcc.md","filePath":"workflows/[workflow].md"}'),c={name:"workflows/skilled-epcc.md"},d=Object.assign(c,{setup(n){const{params:e}=a();return(f,w)=>{const o=r("WorkflowVisualizer");return t(),l("div",null,[s(o,{showSidebar:!0,hideHeader:!0,initialWorkflow:i(e).workflow},null,8,["initialWorkflow"])])}}});export{p as __pageData,d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as a,C as r,c as l,o as t,G as s,k as i}from"./chunks/framework.DZS7lpav.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":false},"headers":[],"params":{"workflow":"skilled-epcc"},"relativePath":"workflows/skilled-epcc.md","filePath":"workflows/[workflow].md"}'),c={name:"workflows/skilled-epcc.md"},d=Object.assign(c,{setup(n){const{params:e}=a();return(f,w)=>{const o=r("WorkflowVisualizer");return t(),l("div",null,[s(o,{showSidebar:!0,hideHeader:!0,initialWorkflow:i(e).workflow},null,8,["initialWorkflow"])])}}});export{p as __pageData,d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as r,C as a,c as l,o as t,G as s,k as i}from"./chunks/framework.DZS7lpav.js";const k=JSON.parse('{"title":"","description":"","frontmatter":{"layout":false},"headers":[],"params":{"workflow":"skilled-greenfield"},"relativePath":"workflows/skilled-greenfield.md","filePath":"workflows/[workflow].md"}'),n={name:"workflows/skilled-greenfield.md"},u=Object.assign(n,{setup(f){const{params:e}=r();return(d,c)=>{const o=a("WorkflowVisualizer");return t(),l("div",null,[s(o,{showSidebar:!0,hideHeader:!0,initialWorkflow:i(e).workflow},null,8,["initialWorkflow"])])}}});export{k as __pageData,u as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as r,C as a,c as l,o as t,G as s,k as i}from"./chunks/framework.DZS7lpav.js";const k=JSON.parse('{"title":"","description":"","frontmatter":{"layout":false},"headers":[],"params":{"workflow":"skilled-greenfield"},"relativePath":"workflows/skilled-greenfield.md","filePath":"workflows/[workflow].md"}'),n={name:"workflows/skilled-greenfield.md"},u=Object.assign(n,{setup(f){const{params:e}=r();return(d,c)=>{const o=a("WorkflowVisualizer");return t(),l("div",null,[s(o,{showSidebar:!0,hideHeader:!0,initialWorkflow:i(e).workflow},null,8,["initialWorkflow"])])}}});export{k as __pageData,u as default};
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/responsible-vibe-mcp/assets/style.CAgdBzOq.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/responsible-vibe-mcp/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/responsible-vibe-mcp/assets/app.
|
|
12
|
+
<script type="module" src="/responsible-vibe-mcp/assets/app.BRB3NIl4.js"></script>
|
|
13
13
|
<link rel="preload" href="/responsible-vibe-mcp/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
-
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/chunks/theme.
|
|
14
|
+
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/chunks/theme.DMKMhwGo.js">
|
|
15
15
|
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/chunks/framework.DZS7lpav.js">
|
|
16
16
|
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/dev_ARCHITECTURE.md.da_vFDwM.lean.js">
|
|
17
17
|
<link rel="icon" href="/responsible-vibe-mcp/favicon.ico">
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
<span class="line"></span>
|
|
150
150
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Pretty-print with jq</span></span>
|
|
151
151
|
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">cat</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .vibe/conversations/my-project-main-abc123/interactions.jsonl</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> jq</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span></span></code></pre></div><p><strong>Note</strong>: All interaction data is stored locally on your system and is never transmitted to external services.</p><h2 id="task-backend-architecture" tabindex="-1">Task Backend Architecture <a class="header-anchor" href="#task-backend-architecture" aria-label="Permalink to "Task Backend Architecture""></a></h2><p>The system supports multiple task management backends through a factory pattern for component substitution.</p><h3 id="backend-detection" tabindex="-1">Backend Detection <a class="header-anchor" href="#backend-detection" aria-label="Permalink to "Backend Detection""></a></h3><p>At startup, the system auto-detects the task backend. If the <code>bd</code> command is available, beads is used; otherwise markdown is used. This can be overridden via the <code>TASK_BACKEND</code> environment variable (<code>markdown</code> or <code>beads</code>).</p><h3 id="component-factory" tabindex="-1">Component Factory <a class="header-anchor" href="#component-factory" aria-label="Permalink to "Component Factory""></a></h3><p>The ServerComponentsFactory creates appropriate implementations based on detected task backend configuration.</p><h3 id="component-responsibilities" tabindex="-1">Component Responsibilities <a class="header-anchor" href="#component-responsibilities" aria-label="Permalink to "Component Responsibilities""></a></h3><p>Task management functionality varies between backends:</p><ul><li><strong>Plan Management</strong>: Markdown backends use traditional plan files with checkboxes; beads backends reference task hierarchies</li><li><strong>Instruction Generation</strong>: Markdown backends provide generic task guidance; beads backends provide CLI command guidance</li><li><strong>Task Operations</strong>: Markdown backends store tasks in plan files; beads backends integrate with CLI tools for task lifecycle management</li></ul></div></div></main><footer class="VPDocFooter" data-v-cda1d691 data-v-5253e96b><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-5253e96b><span class="visually-hidden" id="doc-footer-aria-label" data-v-5253e96b>Pager</span><div class="pager" data-v-5253e96b><!----></div><div class="pager" data-v-5253e96b><a class="VPLink link pager-link next" href="/responsible-vibe-mcp/" data-v-5253e96b><!--[--><span class="desc" data-v-5253e96b>Next page</span><span class="title" data-v-5253e96b>Overview</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
152
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"da_vFDwM\",\"dev_development.md\":\"DWl9cccE\",\"dev_logging.md\":\"BebvbW7z\",\"dev_publishing.md\":\"CQqbiIOF\",\"index.md\":\"D6ROLohf\",\"user_advanced-engineering.md\":\"MkETYNtq\",\"user_agent-setup.md\":\"B54OLL2H\",\"user_beads-integration.md\":\"BzdR5Fif\",\"user_crowd-mcp-integration.md\":\"C15kSdIJ\",\"user_custom-workflows.md\":\"Cz4IYCXa\",\"user_git-commit-feature.md\":\"UcTvDR-O\",\"user_how-it-works.md\":\"DiOXNgaL\",\"user_long-term-memory.md\":\"DZh0tjNa\",\"user_packaged-workflows.md\":\"s1HT89ZU\",\"user_tutorial.md\":\"Dmj8zLB2\",\"user_workflow-selection.md\":\"CrPGw9Hr\",\"workflows.md\":\"Bm5sGt3u\",\"workflows_adr.md\":\"DEaXkbRp\",\"workflows_big-bang-conversion.md\":\"BA5R1LxZ\",\"workflows_boundary-testing.md\":\"DBcYnMhx\",\"workflows_bugfix.md\":\"CZRCL0Hp\",\"workflows_business-analysis.md\":\"fGLml8Hw\",\"workflows_c4-analysis.md\":\"Dnssqzuf\",\"workflows_epcc.md\":\"M6DnIhpp\",\"workflows_game-beginner.md\":\"CNxzWLtd\",\"workflows_greenfield.md\":\"vx_g-WOe\",\"workflows_minor.md\":\"DdnfwMf4\",\"workflows_posts.md\":\"SOldXvq7\",\"workflows_sdd-bugfix-crowd.md\":\"-lSf42gJ\",\"workflows_sdd-bugfix.md\":\"oRAsEVbc\",\"workflows_sdd-feature-crowd.md\":\"DAtnfCAd\",\"workflows_sdd-feature.md\":\"Ce3-H_g3\",\"workflows_sdd-greenfield-crowd.md\":\"8DUvcmLe\",\"workflows_sdd-greenfield.md\":\"eEN6U0J4\",\"workflows_slides.md\":\"Cqt-19_1\",\"workflows_tdd.md\":\"BjVC69tu\",\"workflows_waterfall.md\":\"CL6jTZP9\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
152
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"da_vFDwM\",\"dev_development.md\":\"DWl9cccE\",\"dev_logging.md\":\"BebvbW7z\",\"dev_publishing.md\":\"CQqbiIOF\",\"index.md\":\"D6ROLohf\",\"user_advanced-engineering.md\":\"MkETYNtq\",\"user_agent-setup.md\":\"B54OLL2H\",\"user_beads-integration.md\":\"BzdR5Fif\",\"user_crowd-mcp-integration.md\":\"C15kSdIJ\",\"user_custom-workflows.md\":\"Cz4IYCXa\",\"user_git-commit-feature.md\":\"UcTvDR-O\",\"user_how-it-works.md\":\"DiOXNgaL\",\"user_long-term-memory.md\":\"DZh0tjNa\",\"user_packaged-workflows.md\":\"s1HT89ZU\",\"user_tutorial.md\":\"Dmj8zLB2\",\"user_workflow-selection.md\":\"CrPGw9Hr\",\"workflows.md\":\"Bm5sGt3u\",\"workflows_adr.md\":\"DEaXkbRp\",\"workflows_big-bang-conversion.md\":\"BA5R1LxZ\",\"workflows_boundary-testing.md\":\"DBcYnMhx\",\"workflows_bugfix.md\":\"CZRCL0Hp\",\"workflows_business-analysis.md\":\"fGLml8Hw\",\"workflows_c4-analysis.md\":\"Dnssqzuf\",\"workflows_epcc.md\":\"M6DnIhpp\",\"workflows_game-beginner.md\":\"CNxzWLtd\",\"workflows_greenfield.md\":\"vx_g-WOe\",\"workflows_minor.md\":\"DdnfwMf4\",\"workflows_posts.md\":\"SOldXvq7\",\"workflows_sdd-bugfix-crowd.md\":\"-lSf42gJ\",\"workflows_sdd-bugfix.md\":\"oRAsEVbc\",\"workflows_sdd-feature-crowd.md\":\"DAtnfCAd\",\"workflows_sdd-feature.md\":\"Ce3-H_g3\",\"workflows_sdd-greenfield-crowd.md\":\"8DUvcmLe\",\"workflows_sdd-greenfield.md\":\"eEN6U0J4\",\"workflows_skilled-bugfix.md\":\"YyOU6NjA\",\"workflows_skilled-epcc.md\":\"BGeI6g1n\",\"workflows_skilled-greenfield.md\":\"CKxrbPQ-\",\"workflows_slides.md\":\"Cqt-19_1\",\"workflows_tdd.md\":\"BjVC69tu\",\"workflows_waterfall.md\":\"CL6jTZP9\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
153
153
|
|
|
154
154
|
</body>
|
|
155
155
|
</html>
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/responsible-vibe-mcp/assets/style.CAgdBzOq.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/responsible-vibe-mcp/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/responsible-vibe-mcp/assets/app.
|
|
12
|
+
<script type="module" src="/responsible-vibe-mcp/assets/app.BRB3NIl4.js"></script>
|
|
13
13
|
<link rel="preload" href="/responsible-vibe-mcp/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
-
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/chunks/theme.
|
|
14
|
+
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/chunks/theme.DMKMhwGo.js">
|
|
15
15
|
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/chunks/framework.DZS7lpav.js">
|
|
16
16
|
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/dev_DEVELOPMENT.md.DWl9cccE.lean.js">
|
|
17
17
|
<link rel="icon" href="/responsible-vibe-mcp/favicon.ico">
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
<span class="line"><span>fix: resolve database connection issue</span></span>
|
|
92
92
|
<span class="line"><span>docs: update API documentation</span></span>
|
|
93
93
|
<span class="line"><span>test: add integration tests for phase transitions</span></span></code></pre></div><h3 id="pull-request-process" tabindex="-1">Pull Request Process <a class="header-anchor" href="#pull-request-process" aria-label="Permalink to "Pull Request Process""></a></h3><ol><li>Fork the repository</li><li>Create a feature branch</li><li>Make your changes with tests</li><li>Ensure all tests pass (<code>npm run test:all</code>)</li><li>Update documentation as needed</li><li>Submit a pull request</li></ol><h3 id="automated-checks" tabindex="-1">Automated Checks <a class="header-anchor" href="#automated-checks" aria-label="Permalink to "Automated Checks""></a></h3><p>The project includes several automated checks that run on every PR:</p><ul><li><strong>Tests</strong>: Comprehensive test suite including MCP contract tests</li><li><strong>Linting</strong>: Code style and quality checks</li><li><strong>Type Checking</strong>: TypeScript compilation verification</li><li><strong>Build Verification</strong>: Ensures the project builds successfully</li></ul><h3 id="dependency-management" tabindex="-1">Dependency Management <a class="header-anchor" href="#dependency-management" aria-label="Permalink to "Dependency Management""></a></h3><p>This project uses <strong>Renovate</strong> for automated dependency management:</p><ul><li>Automatically creates PRs for dependency updates</li><li>Follows semantic versioning for update scheduling</li><li>Includes security updates with higher priority</li><li>Configuration in <code>.github/renovate.json</code></li><li>Helps keep dependencies current and secure</li></ul><h3 id="release-process" tabindex="-1">Release Process <a class="header-anchor" href="#release-process" aria-label="Permalink to "Release Process""></a></h3><p>The project uses automated releases based on conventional commits:</p><ul><li><code>feat:</code> commits trigger minor version bumps</li><li><code>fix:</code> commits trigger patch version bumps</li><li><code>BREAKING CHANGE:</code> in commit body triggers major version bumps</li></ul></div></div></main><footer class="VPDocFooter" data-v-cda1d691 data-v-5253e96b><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-5253e96b><span class="visually-hidden" id="doc-footer-aria-label" data-v-5253e96b>Pager</span><div class="pager" data-v-5253e96b><!----></div><div class="pager" data-v-5253e96b><a class="VPLink link pager-link next" href="/responsible-vibe-mcp/" data-v-5253e96b><!--[--><span class="desc" data-v-5253e96b>Next page</span><span class="title" data-v-5253e96b>Overview</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
94
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"da_vFDwM\",\"dev_development.md\":\"DWl9cccE\",\"dev_logging.md\":\"BebvbW7z\",\"dev_publishing.md\":\"CQqbiIOF\",\"index.md\":\"D6ROLohf\",\"user_advanced-engineering.md\":\"MkETYNtq\",\"user_agent-setup.md\":\"B54OLL2H\",\"user_beads-integration.md\":\"BzdR5Fif\",\"user_crowd-mcp-integration.md\":\"C15kSdIJ\",\"user_custom-workflows.md\":\"Cz4IYCXa\",\"user_git-commit-feature.md\":\"UcTvDR-O\",\"user_how-it-works.md\":\"DiOXNgaL\",\"user_long-term-memory.md\":\"DZh0tjNa\",\"user_packaged-workflows.md\":\"s1HT89ZU\",\"user_tutorial.md\":\"Dmj8zLB2\",\"user_workflow-selection.md\":\"CrPGw9Hr\",\"workflows.md\":\"Bm5sGt3u\",\"workflows_adr.md\":\"DEaXkbRp\",\"workflows_big-bang-conversion.md\":\"BA5R1LxZ\",\"workflows_boundary-testing.md\":\"DBcYnMhx\",\"workflows_bugfix.md\":\"CZRCL0Hp\",\"workflows_business-analysis.md\":\"fGLml8Hw\",\"workflows_c4-analysis.md\":\"Dnssqzuf\",\"workflows_epcc.md\":\"M6DnIhpp\",\"workflows_game-beginner.md\":\"CNxzWLtd\",\"workflows_greenfield.md\":\"vx_g-WOe\",\"workflows_minor.md\":\"DdnfwMf4\",\"workflows_posts.md\":\"SOldXvq7\",\"workflows_sdd-bugfix-crowd.md\":\"-lSf42gJ\",\"workflows_sdd-bugfix.md\":\"oRAsEVbc\",\"workflows_sdd-feature-crowd.md\":\"DAtnfCAd\",\"workflows_sdd-feature.md\":\"Ce3-H_g3\",\"workflows_sdd-greenfield-crowd.md\":\"8DUvcmLe\",\"workflows_sdd-greenfield.md\":\"eEN6U0J4\",\"workflows_slides.md\":\"Cqt-19_1\",\"workflows_tdd.md\":\"BjVC69tu\",\"workflows_waterfall.md\":\"CL6jTZP9\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
94
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"da_vFDwM\",\"dev_development.md\":\"DWl9cccE\",\"dev_logging.md\":\"BebvbW7z\",\"dev_publishing.md\":\"CQqbiIOF\",\"index.md\":\"D6ROLohf\",\"user_advanced-engineering.md\":\"MkETYNtq\",\"user_agent-setup.md\":\"B54OLL2H\",\"user_beads-integration.md\":\"BzdR5Fif\",\"user_crowd-mcp-integration.md\":\"C15kSdIJ\",\"user_custom-workflows.md\":\"Cz4IYCXa\",\"user_git-commit-feature.md\":\"UcTvDR-O\",\"user_how-it-works.md\":\"DiOXNgaL\",\"user_long-term-memory.md\":\"DZh0tjNa\",\"user_packaged-workflows.md\":\"s1HT89ZU\",\"user_tutorial.md\":\"Dmj8zLB2\",\"user_workflow-selection.md\":\"CrPGw9Hr\",\"workflows.md\":\"Bm5sGt3u\",\"workflows_adr.md\":\"DEaXkbRp\",\"workflows_big-bang-conversion.md\":\"BA5R1LxZ\",\"workflows_boundary-testing.md\":\"DBcYnMhx\",\"workflows_bugfix.md\":\"CZRCL0Hp\",\"workflows_business-analysis.md\":\"fGLml8Hw\",\"workflows_c4-analysis.md\":\"Dnssqzuf\",\"workflows_epcc.md\":\"M6DnIhpp\",\"workflows_game-beginner.md\":\"CNxzWLtd\",\"workflows_greenfield.md\":\"vx_g-WOe\",\"workflows_minor.md\":\"DdnfwMf4\",\"workflows_posts.md\":\"SOldXvq7\",\"workflows_sdd-bugfix-crowd.md\":\"-lSf42gJ\",\"workflows_sdd-bugfix.md\":\"oRAsEVbc\",\"workflows_sdd-feature-crowd.md\":\"DAtnfCAd\",\"workflows_sdd-feature.md\":\"Ce3-H_g3\",\"workflows_sdd-greenfield-crowd.md\":\"8DUvcmLe\",\"workflows_sdd-greenfield.md\":\"eEN6U0J4\",\"workflows_skilled-bugfix.md\":\"YyOU6NjA\",\"workflows_skilled-epcc.md\":\"BGeI6g1n\",\"workflows_skilled-greenfield.md\":\"CKxrbPQ-\",\"workflows_slides.md\":\"Cqt-19_1\",\"workflows_tdd.md\":\"BjVC69tu\",\"workflows_waterfall.md\":\"CL6jTZP9\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
95
95
|
|
|
96
96
|
</body>
|
|
97
97
|
</html>
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/responsible-vibe-mcp/assets/style.CAgdBzOq.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/responsible-vibe-mcp/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/responsible-vibe-mcp/assets/app.
|
|
12
|
+
<script type="module" src="/responsible-vibe-mcp/assets/app.BRB3NIl4.js"></script>
|
|
13
13
|
<link rel="preload" href="/responsible-vibe-mcp/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
-
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/chunks/theme.
|
|
14
|
+
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/chunks/theme.DMKMhwGo.js">
|
|
15
15
|
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/chunks/framework.DZS7lpav.js">
|
|
16
16
|
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/dev_LOGGING.md.BebvbW7z.lean.js">
|
|
17
17
|
<link rel="icon" href="/responsible-vibe-mcp/favicon.ico">
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
<span class="line"></span>
|
|
54
54
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Monitor logs in real-time</span></span>
|
|
55
55
|
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">LOG_LEVEL</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DEBUG</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> tsx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> src/index.ts</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> 2>&1</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> tee</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> server.log</span></span></code></pre></div><h2 id="best-practices" tabindex="-1">Best Practices <a class="header-anchor" href="#best-practices" aria-label="Permalink to "Best Practices""></a></h2><ol><li><strong>Use appropriate log levels</strong>: Debug for tracing, Info for milestones, Warn for recoverable issues, Error for failures</li><li><strong>Include context</strong>: Always provide relevant context data with log messages</li><li><strong>Avoid sensitive data</strong>: Don't log passwords, tokens, or other sensitive information</li><li><strong>Use structured logging</strong>: Provide context as objects rather than string interpolation</li><li><strong>Component-specific loggers</strong>: Use dedicated loggers for different components</li><li><strong>Centralized logging</strong>: Use the logger module for all logging needs</li></ol><h2 id="performance-considerations" tabindex="-1">Performance Considerations <a class="header-anchor" href="#performance-considerations" aria-label="Permalink to "Performance Considerations""></a></h2><ul><li>Log level filtering happens before message formatting for efficiency</li><li>MCP client notifications are sent asynchronously to avoid blocking operations</li><li>Failed MCP notifications fall back to stderr logging</li><li>Context objects are JSON-serialized only when the log level permits output</li><li>Enhanced notifications only process important events to reduce overhead</li></ul><h2 id="troubleshooting" tabindex="-1">Troubleshooting <a class="header-anchor" href="#troubleshooting" aria-label="Permalink to "Troubleshooting""></a></h2><h3 id="no-log-output" tabindex="-1">No Log Output <a class="header-anchor" href="#no-log-output" aria-label="Permalink to "No Log Output""></a></h3><p>Check the <code>LOG_LEVEL</code> environment variable. Default is <code>INFO</code>.</p><h3 id="mcp-client-not-receiving-notifications" tabindex="-1">MCP Client Not Receiving Notifications <a class="header-anchor" href="#mcp-client-not-receiving-notifications" aria-label="Permalink to "MCP Client Not Receiving Notifications""></a></h3><p>Ensure the server is properly initialized and connected to the MCP transport. Client notifications are only sent after successful server initialization. In test environments, "Not connected" errors are expected and harmless.</p><h3 id="performance-issues" tabindex="-1">Performance Issues <a class="header-anchor" href="#performance-issues" aria-label="Permalink to "Performance Issues""></a></h3><p>Consider raising the log level to <code>WARN</code> or <code>ERROR</code> in production environments to reduce log volume.</p><h2 id="integration-with-mcp-inspector" tabindex="-1">Integration with MCP Inspector <a class="header-anchor" href="#integration-with-mcp-inspector" aria-label="Permalink to "Integration with MCP Inspector""></a></h2><p>When using the MCP Inspector for debugging, set debug logging to see detailed protocol interactions:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">LOG_LEVEL</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DEBUG</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> @modelcontextprotocol/inspector</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> tsx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> src/index.ts</span></span></code></pre></div><p>The enhanced logging system provides comprehensive visibility into the server's operation while maintaining MCP compliance and optimal performance through centralized, structured logging.</p></div></div></main><footer class="VPDocFooter" data-v-cda1d691 data-v-5253e96b><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-5253e96b><span class="visually-hidden" id="doc-footer-aria-label" data-v-5253e96b>Pager</span><div class="pager" data-v-5253e96b><!----></div><div class="pager" data-v-5253e96b><a class="VPLink link pager-link next" href="/responsible-vibe-mcp/" data-v-5253e96b><!--[--><span class="desc" data-v-5253e96b>Next page</span><span class="title" data-v-5253e96b>Overview</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
56
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"da_vFDwM\",\"dev_development.md\":\"DWl9cccE\",\"dev_logging.md\":\"BebvbW7z\",\"dev_publishing.md\":\"CQqbiIOF\",\"index.md\":\"D6ROLohf\",\"user_advanced-engineering.md\":\"MkETYNtq\",\"user_agent-setup.md\":\"B54OLL2H\",\"user_beads-integration.md\":\"BzdR5Fif\",\"user_crowd-mcp-integration.md\":\"C15kSdIJ\",\"user_custom-workflows.md\":\"Cz4IYCXa\",\"user_git-commit-feature.md\":\"UcTvDR-O\",\"user_how-it-works.md\":\"DiOXNgaL\",\"user_long-term-memory.md\":\"DZh0tjNa\",\"user_packaged-workflows.md\":\"s1HT89ZU\",\"user_tutorial.md\":\"Dmj8zLB2\",\"user_workflow-selection.md\":\"CrPGw9Hr\",\"workflows.md\":\"Bm5sGt3u\",\"workflows_adr.md\":\"DEaXkbRp\",\"workflows_big-bang-conversion.md\":\"BA5R1LxZ\",\"workflows_boundary-testing.md\":\"DBcYnMhx\",\"workflows_bugfix.md\":\"CZRCL0Hp\",\"workflows_business-analysis.md\":\"fGLml8Hw\",\"workflows_c4-analysis.md\":\"Dnssqzuf\",\"workflows_epcc.md\":\"M6DnIhpp\",\"workflows_game-beginner.md\":\"CNxzWLtd\",\"workflows_greenfield.md\":\"vx_g-WOe\",\"workflows_minor.md\":\"DdnfwMf4\",\"workflows_posts.md\":\"SOldXvq7\",\"workflows_sdd-bugfix-crowd.md\":\"-lSf42gJ\",\"workflows_sdd-bugfix.md\":\"oRAsEVbc\",\"workflows_sdd-feature-crowd.md\":\"DAtnfCAd\",\"workflows_sdd-feature.md\":\"Ce3-H_g3\",\"workflows_sdd-greenfield-crowd.md\":\"8DUvcmLe\",\"workflows_sdd-greenfield.md\":\"eEN6U0J4\",\"workflows_slides.md\":\"Cqt-19_1\",\"workflows_tdd.md\":\"BjVC69tu\",\"workflows_waterfall.md\":\"CL6jTZP9\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
56
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"da_vFDwM\",\"dev_development.md\":\"DWl9cccE\",\"dev_logging.md\":\"BebvbW7z\",\"dev_publishing.md\":\"CQqbiIOF\",\"index.md\":\"D6ROLohf\",\"user_advanced-engineering.md\":\"MkETYNtq\",\"user_agent-setup.md\":\"B54OLL2H\",\"user_beads-integration.md\":\"BzdR5Fif\",\"user_crowd-mcp-integration.md\":\"C15kSdIJ\",\"user_custom-workflows.md\":\"Cz4IYCXa\",\"user_git-commit-feature.md\":\"UcTvDR-O\",\"user_how-it-works.md\":\"DiOXNgaL\",\"user_long-term-memory.md\":\"DZh0tjNa\",\"user_packaged-workflows.md\":\"s1HT89ZU\",\"user_tutorial.md\":\"Dmj8zLB2\",\"user_workflow-selection.md\":\"CrPGw9Hr\",\"workflows.md\":\"Bm5sGt3u\",\"workflows_adr.md\":\"DEaXkbRp\",\"workflows_big-bang-conversion.md\":\"BA5R1LxZ\",\"workflows_boundary-testing.md\":\"DBcYnMhx\",\"workflows_bugfix.md\":\"CZRCL0Hp\",\"workflows_business-analysis.md\":\"fGLml8Hw\",\"workflows_c4-analysis.md\":\"Dnssqzuf\",\"workflows_epcc.md\":\"M6DnIhpp\",\"workflows_game-beginner.md\":\"CNxzWLtd\",\"workflows_greenfield.md\":\"vx_g-WOe\",\"workflows_minor.md\":\"DdnfwMf4\",\"workflows_posts.md\":\"SOldXvq7\",\"workflows_sdd-bugfix-crowd.md\":\"-lSf42gJ\",\"workflows_sdd-bugfix.md\":\"oRAsEVbc\",\"workflows_sdd-feature-crowd.md\":\"DAtnfCAd\",\"workflows_sdd-feature.md\":\"Ce3-H_g3\",\"workflows_sdd-greenfield-crowd.md\":\"8DUvcmLe\",\"workflows_sdd-greenfield.md\":\"eEN6U0J4\",\"workflows_skilled-bugfix.md\":\"YyOU6NjA\",\"workflows_skilled-epcc.md\":\"BGeI6g1n\",\"workflows_skilled-greenfield.md\":\"CKxrbPQ-\",\"workflows_slides.md\":\"Cqt-19_1\",\"workflows_tdd.md\":\"BjVC69tu\",\"workflows_waterfall.md\":\"CL6jTZP9\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
57
57
|
|
|
58
58
|
</body>
|
|
59
59
|
</html>
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/responsible-vibe-mcp/assets/style.CAgdBzOq.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/responsible-vibe-mcp/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/responsible-vibe-mcp/assets/app.
|
|
12
|
+
<script type="module" src="/responsible-vibe-mcp/assets/app.BRB3NIl4.js"></script>
|
|
13
13
|
<link rel="preload" href="/responsible-vibe-mcp/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
-
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/chunks/theme.
|
|
14
|
+
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/chunks/theme.DMKMhwGo.js">
|
|
15
15
|
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/chunks/framework.DZS7lpav.js">
|
|
16
16
|
<link rel="modulepreload" href="/responsible-vibe-mcp/assets/dev_PUBLISHING.md.CQqbiIOF.lean.js">
|
|
17
17
|
<link rel="icon" href="/responsible-vibe-mcp/favicon.ico">
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> commit</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -m</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "feat!: redesign API structure</span></span>
|
|
25
25
|
<span class="line"></span>
|
|
26
26
|
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">BREAKING CHANGE: API endpoints have changed"</span></span></code></pre></div><h2 id="publishing-process" tabindex="-1">Publishing Process <a class="header-anchor" href="#publishing-process" aria-label="Permalink to "Publishing Process""></a></h2><ol><li><strong>Development</strong>: Work on feature branches</li><li><strong>Pull Request</strong>: Create PR to main branch (triggers tests)</li><li><strong>Review & Merge</strong>: After approval, merge to main</li><li><strong>Automatic Release</strong>: GitHub Actions handles the rest: <ul><li>Tests pass → Version bump → npm publish → Git tag → Release notes</li></ul></li></ol><h2 id="manual-override" tabindex="-1">Manual Override <a class="header-anchor" href="#manual-override" aria-label="Permalink to "Manual Override""></a></h2><p>If needed, you can manually trigger releases:</p><ol><li>Go to Actions tab in GitHub</li><li>Select "Release and Publish" workflow</li><li>Click "Run workflow" on main branch</li></ol><h2 id="troubleshooting" tabindex="-1">Troubleshooting <a class="header-anchor" href="#troubleshooting" aria-label="Permalink to "Troubleshooting""></a></h2><h3 id="common-issues" tabindex="-1">Common Issues: <a class="header-anchor" href="#common-issues" aria-label="Permalink to "Common Issues:""></a></h3><ol><li><strong>npm publish fails</strong>: Check NPM_TOKEN secret is set correctly</li><li><strong>No version bump</strong>: Ensure commits follow conventional format</li><li><strong>Tests fail</strong>: Fix tests before merging to main</li><li><strong>Permission denied</strong>: Verify GitHub Actions permissions</li></ol><h3 id="checking-status" tabindex="-1">Checking Status: <a class="header-anchor" href="#checking-status" aria-label="Permalink to "Checking Status:""></a></h3><ul><li><strong>npm package</strong>: <a href="https://www.npmjs.com/package/@codemcp/workflows" target="_blank" rel="noreferrer">https://www.npmjs.com/package/@codemcp/workflows</a></li><li><strong>GitHub releases</strong>: <a href="https://github.com/mrsimpson/vibe-feature-mcp/releases" target="_blank" rel="noreferrer">https://github.com/mrsimpson/vibe-feature-mcp/releases</a></li><li><strong>Actions logs</strong>: <a href="https://github.com/mrsimpson/vibe-feature-mcp/actions" target="_blank" rel="noreferrer">https://github.com/mrsimpson/vibe-feature-mcp/actions</a></li></ul><h2 id="version-history" tabindex="-1">Version History <a class="header-anchor" href="#version-history" aria-label="Permalink to "Version History""></a></h2><p>Versions and changelogs are automatically maintained in:</p><ul><li>GitHub Releases</li><li>CHANGELOG.md (auto-generated)</li><li>Git tags (v1.2.3 format)</li></ul></div></div></main><footer class="VPDocFooter" data-v-cda1d691 data-v-5253e96b><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-5253e96b><span class="visually-hidden" id="doc-footer-aria-label" data-v-5253e96b>Pager</span><div class="pager" data-v-5253e96b><!----></div><div class="pager" data-v-5253e96b><a class="VPLink link pager-link next" href="/responsible-vibe-mcp/" data-v-5253e96b><!--[--><span class="desc" data-v-5253e96b>Next page</span><span class="title" data-v-5253e96b>Overview</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
27
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"da_vFDwM\",\"dev_development.md\":\"DWl9cccE\",\"dev_logging.md\":\"BebvbW7z\",\"dev_publishing.md\":\"CQqbiIOF\",\"index.md\":\"D6ROLohf\",\"user_advanced-engineering.md\":\"MkETYNtq\",\"user_agent-setup.md\":\"B54OLL2H\",\"user_beads-integration.md\":\"BzdR5Fif\",\"user_crowd-mcp-integration.md\":\"C15kSdIJ\",\"user_custom-workflows.md\":\"Cz4IYCXa\",\"user_git-commit-feature.md\":\"UcTvDR-O\",\"user_how-it-works.md\":\"DiOXNgaL\",\"user_long-term-memory.md\":\"DZh0tjNa\",\"user_packaged-workflows.md\":\"s1HT89ZU\",\"user_tutorial.md\":\"Dmj8zLB2\",\"user_workflow-selection.md\":\"CrPGw9Hr\",\"workflows.md\":\"Bm5sGt3u\",\"workflows_adr.md\":\"DEaXkbRp\",\"workflows_big-bang-conversion.md\":\"BA5R1LxZ\",\"workflows_boundary-testing.md\":\"DBcYnMhx\",\"workflows_bugfix.md\":\"CZRCL0Hp\",\"workflows_business-analysis.md\":\"fGLml8Hw\",\"workflows_c4-analysis.md\":\"Dnssqzuf\",\"workflows_epcc.md\":\"M6DnIhpp\",\"workflows_game-beginner.md\":\"CNxzWLtd\",\"workflows_greenfield.md\":\"vx_g-WOe\",\"workflows_minor.md\":\"DdnfwMf4\",\"workflows_posts.md\":\"SOldXvq7\",\"workflows_sdd-bugfix-crowd.md\":\"-lSf42gJ\",\"workflows_sdd-bugfix.md\":\"oRAsEVbc\",\"workflows_sdd-feature-crowd.md\":\"DAtnfCAd\",\"workflows_sdd-feature.md\":\"Ce3-H_g3\",\"workflows_sdd-greenfield-crowd.md\":\"8DUvcmLe\",\"workflows_sdd-greenfield.md\":\"eEN6U0J4\",\"workflows_slides.md\":\"Cqt-19_1\",\"workflows_tdd.md\":\"BjVC69tu\",\"workflows_waterfall.md\":\"CL6jTZP9\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
27
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"da_vFDwM\",\"dev_development.md\":\"DWl9cccE\",\"dev_logging.md\":\"BebvbW7z\",\"dev_publishing.md\":\"CQqbiIOF\",\"index.md\":\"D6ROLohf\",\"user_advanced-engineering.md\":\"MkETYNtq\",\"user_agent-setup.md\":\"B54OLL2H\",\"user_beads-integration.md\":\"BzdR5Fif\",\"user_crowd-mcp-integration.md\":\"C15kSdIJ\",\"user_custom-workflows.md\":\"Cz4IYCXa\",\"user_git-commit-feature.md\":\"UcTvDR-O\",\"user_how-it-works.md\":\"DiOXNgaL\",\"user_long-term-memory.md\":\"DZh0tjNa\",\"user_packaged-workflows.md\":\"s1HT89ZU\",\"user_tutorial.md\":\"Dmj8zLB2\",\"user_workflow-selection.md\":\"CrPGw9Hr\",\"workflows.md\":\"Bm5sGt3u\",\"workflows_adr.md\":\"DEaXkbRp\",\"workflows_big-bang-conversion.md\":\"BA5R1LxZ\",\"workflows_boundary-testing.md\":\"DBcYnMhx\",\"workflows_bugfix.md\":\"CZRCL0Hp\",\"workflows_business-analysis.md\":\"fGLml8Hw\",\"workflows_c4-analysis.md\":\"Dnssqzuf\",\"workflows_epcc.md\":\"M6DnIhpp\",\"workflows_game-beginner.md\":\"CNxzWLtd\",\"workflows_greenfield.md\":\"vx_g-WOe\",\"workflows_minor.md\":\"DdnfwMf4\",\"workflows_posts.md\":\"SOldXvq7\",\"workflows_sdd-bugfix-crowd.md\":\"-lSf42gJ\",\"workflows_sdd-bugfix.md\":\"oRAsEVbc\",\"workflows_sdd-feature-crowd.md\":\"DAtnfCAd\",\"workflows_sdd-feature.md\":\"Ce3-H_g3\",\"workflows_sdd-greenfield-crowd.md\":\"8DUvcmLe\",\"workflows_sdd-greenfield.md\":\"eEN6U0J4\",\"workflows_skilled-bugfix.md\":\"YyOU6NjA\",\"workflows_skilled-epcc.md\":\"BGeI6g1n\",\"workflows_skilled-greenfield.md\":\"CKxrbPQ-\",\"workflows_slides.md\":\"Cqt-19_1\",\"workflows_tdd.md\":\"BjVC69tu\",\"workflows_waterfall.md\":\"CL6jTZP9\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/responsible-vibe-mcp/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/mrsimpson/responsible-vibe-mcp\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
28
28
|
|
|
29
29
|
</body>
|
|
30
30
|
</html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"dev_architecture.md":"da_vFDwM","dev_development.md":"DWl9cccE","dev_logging.md":"BebvbW7z","dev_publishing.md":"CQqbiIOF","index.md":"D6ROLohf","user_advanced-engineering.md":"MkETYNtq","user_agent-setup.md":"B54OLL2H","user_beads-integration.md":"BzdR5Fif","user_crowd-mcp-integration.md":"C15kSdIJ","user_custom-workflows.md":"Cz4IYCXa","user_git-commit-feature.md":"UcTvDR-O","user_how-it-works.md":"DiOXNgaL","user_long-term-memory.md":"DZh0tjNa","user_packaged-workflows.md":"s1HT89ZU","user_tutorial.md":"Dmj8zLB2","user_workflow-selection.md":"CrPGw9Hr","workflows.md":"Bm5sGt3u","workflows_adr.md":"DEaXkbRp","workflows_big-bang-conversion.md":"BA5R1LxZ","workflows_boundary-testing.md":"DBcYnMhx","workflows_bugfix.md":"CZRCL0Hp","workflows_business-analysis.md":"fGLml8Hw","workflows_c4-analysis.md":"Dnssqzuf","workflows_epcc.md":"M6DnIhpp","workflows_game-beginner.md":"CNxzWLtd","workflows_greenfield.md":"vx_g-WOe","workflows_minor.md":"DdnfwMf4","workflows_posts.md":"SOldXvq7","workflows_sdd-bugfix-crowd.md":"-lSf42gJ","workflows_sdd-bugfix.md":"oRAsEVbc","workflows_sdd-feature-crowd.md":"DAtnfCAd","workflows_sdd-feature.md":"Ce3-H_g3","workflows_sdd-greenfield-crowd.md":"8DUvcmLe","workflows_sdd-greenfield.md":"eEN6U0J4","workflows_slides.md":"Cqt-19_1","workflows_tdd.md":"BjVC69tu","workflows_waterfall.md":"CL6jTZP9"}
|
|
1
|
+
{"dev_architecture.md":"da_vFDwM","dev_development.md":"DWl9cccE","dev_logging.md":"BebvbW7z","dev_publishing.md":"CQqbiIOF","index.md":"D6ROLohf","user_advanced-engineering.md":"MkETYNtq","user_agent-setup.md":"B54OLL2H","user_beads-integration.md":"BzdR5Fif","user_crowd-mcp-integration.md":"C15kSdIJ","user_custom-workflows.md":"Cz4IYCXa","user_git-commit-feature.md":"UcTvDR-O","user_how-it-works.md":"DiOXNgaL","user_long-term-memory.md":"DZh0tjNa","user_packaged-workflows.md":"s1HT89ZU","user_tutorial.md":"Dmj8zLB2","user_workflow-selection.md":"CrPGw9Hr","workflows.md":"Bm5sGt3u","workflows_adr.md":"DEaXkbRp","workflows_big-bang-conversion.md":"BA5R1LxZ","workflows_boundary-testing.md":"DBcYnMhx","workflows_bugfix.md":"CZRCL0Hp","workflows_business-analysis.md":"fGLml8Hw","workflows_c4-analysis.md":"Dnssqzuf","workflows_epcc.md":"M6DnIhpp","workflows_game-beginner.md":"CNxzWLtd","workflows_greenfield.md":"vx_g-WOe","workflows_minor.md":"DdnfwMf4","workflows_posts.md":"SOldXvq7","workflows_sdd-bugfix-crowd.md":"-lSf42gJ","workflows_sdd-bugfix.md":"oRAsEVbc","workflows_sdd-feature-crowd.md":"DAtnfCAd","workflows_sdd-feature.md":"Ce3-H_g3","workflows_sdd-greenfield-crowd.md":"8DUvcmLe","workflows_sdd-greenfield.md":"eEN6U0J4","workflows_skilled-bugfix.md":"YyOU6NjA","workflows_skilled-epcc.md":"BGeI6g1n","workflows_skilled-greenfield.md":"CKxrbPQ-","workflows_slides.md":"Cqt-19_1","workflows_tdd.md":"BjVC69tu","workflows_waterfall.md":"CL6jTZP9"}
|