Skip to content

Commit 56e00fa

Browse files
authored
Merge pull request #497 from mistralai/feat/vibe-code-web-slack-integration
feat: vibe code web slack integration
2 parents e53f593 + d221c44 commit 56e00fa

2 files changed

Lines changed: 132 additions & 1 deletion

File tree

  • src
    • app/(docs)/(products)/vibe/code/vibe-code-web/slack-integration
    • lib/content
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
---
2+
title: "Vibe Code Web for Slack: Quickstart"
3+
sidebar_position: 1
4+
---
5+
6+
import { SectionTab } from '@/components/layout/section-tab';
7+
8+
# Vibe Code Web for Slack: Quickstart
9+
10+
Use this guide after the Vibe Code Web Slack app has been installed and connected to your Vibe account and GitHub repositories.
11+
12+
<SectionTab as="h1" sectionId="what-you-can-do">What you can do from Slack</SectionTab>
13+
14+
Vibe Code Web lets you start a remote coding session from the context already in a Slack thread. The agent uses the thread context, works in an isolated cloud sandbox, and creates a linked Vibe Code Web session. The coding agent can create a pull request for review.
15+
16+
Use Slack when the coding task starts from:
17+
18+
- an incident or on-call thread
19+
- a CI or alert notification
20+
- a customer or support escalation
21+
- a product or engineering discussion
22+
- a code review discussion summarized in Slack
23+
- a small implementation decision already agreed in-thread
24+
25+
<SectionTab as="h1" sectionId="start-first-session">Start your first session</SectionTab>
26+
27+
1. **Find a Slack thread with enough context for the coding task.** Good context includes:
28+
- the repository or project name
29+
- the bug, failing test, or desired behavior
30+
- links to logs, PRs, issues, or screenshots
31+
- constraints, such as *"keep the API unchanged"* or *"only touch docs"*
32+
2. **Mention the Vibe Code app in the thread.**
33+
```text
34+
@MistralVibe investigate the issue described in this thread and open a PR if there is a clear fix.
35+
```
36+
3. **If Vibe needs more information, answer in the thread.** Common clarification questions:
37+
- Which repository should I use?
38+
- Which branch should I target?
39+
- Should I open a PR or only investigate?
40+
- Is this safe to change, or should I produce a summary first?
41+
4. **Open the Vibe Code Web session link posted by the app.** Use the web session to inspect progress, command output, steer the agent, and review the resulting GitHub branch or pull request.
42+
5. **Review the final code in GitHub.** GitHub remains the source of truth for code review, required checks, comments, approvals, and merge decisions.
43+
44+
<SectionTab as="h1" sectionId="good-first-prompts">Good first prompts</SectionTab>
45+
46+
Use prompts that are scoped, actionable, and likely to end in a branch or pull request.
47+
48+
| Use case | Slack prompt |
49+
| --- | --- |
50+
| **Investigate a failing test** | `@MistralVibe investigate the failing test in this thread. If the fix is clear, open a PR with the smallest safe change.` |
51+
| **Fix a customer-reported bug** | `@MistralVibe use the customer report above to find the likely bug. Open a PR if you can reproduce or identify a clear fix.` |
52+
| **Address an alert** | `@MistralVibe investigate this alert and check whether there is a code or config fix. Start with a summary, then open a PR only if the change is low risk.` |
53+
| **Apply an agreed product change** | `@MistralVibe implement the copy/config change we agreed on above and open a PR.` |
54+
| **Add missing test coverage** | `@MistralVibe add a regression test for the edge case described in this thread. Keep the implementation unchanged unless the test exposes a bug.` |
55+
| **Update docs** | `@MistralVibe update the docs based on the behavior described above. Open a PR with the doc-only change.` |
56+
| **Small refactor** | `@MistralVibe refactor the helper discussed above. Keep behavior unchanged and run the relevant tests before opening a PR.` |
57+
58+
<SectionTab as="h1" sectionId="prompt-template">Prompt template</SectionTab>
59+
60+
For best results, include the repo, the desired outcome, and the review boundary.
61+
62+
```text
63+
@MistralVibe [task]
64+
65+
Repo/project: [repo name]
66+
Goal: [what should change]
67+
Constraints: [what not to change]
68+
Validation: [test/check to run if known]
69+
Output: open a PR / investigate only / summarize first
70+
```
71+
72+
Example:
73+
74+
```text
75+
@MistralVibe fix the settings persistence bug described above.
76+
77+
Repo/project: web-app
78+
Goal: the alerts toggle should still be enabled after refresh.
79+
Constraints: do not change the API shape.
80+
Validation: run the settings tests if available.
81+
Output: open a PR if the fix is clear; otherwise summarize what you found.
82+
```
83+
84+
<SectionTab as="h1" sectionId="what-happens-next">What happens next</SectionTab>
85+
86+
After you mention Vibe Code:
87+
88+
1. The app reads the Slack thread context.
89+
2. It maps the request to a Vibe Code Web project and GitHub repository.
90+
3. If the repository is ambiguous, it asks you to choose.
91+
4. It creates a Vibe Code Web session and posts a link back to Slack.
92+
5. The agent works remotely in a managed sandbox.
93+
6. The result is a GitHub branch or pull request, when a code change is appropriate.
94+
95+
<SectionTab as="h1" sectionId="slack-vs-web-vs-cli">When to use Slack vs Web vs CLI</SectionTab>
96+
97+
| Start from | Use when |
98+
| --- | --- |
99+
| **Slack** | The context already lives in a Slack thread: incidents, support reports, alerts, or team decisions. |
100+
| **Vibe Code Web** | You know the repository and want to start a remote task directly. |
101+
| **Vibe CLI** | You are already working locally, or the task depends on local files, services, secrets, or environment setup. |
102+
103+
<SectionTab as="h1" sectionId="best-practices">Best practices</SectionTab>
104+
105+
- Start with small, scoped tasks.
106+
- Name the repository or project when possible.
107+
- Say whether you want a pull request or an investigation summary.
108+
- Include the failing test, error message, stack trace, or expected behavior.
109+
- Avoid asking for broad rewrites from Slack.
110+
- Do not paste secrets into Slack or into the agent prompt.
111+
- Review the resulting branch or pull request in GitHub before merging.
112+
113+
<SectionTab as="h1" sectionId="good-tasks">Good Slack tasks</SectionTab>
114+
115+
Good Slack-started tasks usually:
116+
117+
- have enough thread context
118+
- are tied to a known repo or project
119+
- can run in an isolated sandbox
120+
- can be validated with tests, build output, or code inspection
121+
- end in a GitHub branch, pull request, or investigation summary
122+
123+
<SectionTab as="h1" sectionId="less-ideal-tasks">Less ideal Slack tasks</SectionTab>
124+
125+
Avoid Slack-triggered sessions for:
126+
127+
- broad architecture changes without a clear owner
128+
- tasks requiring local-only services, secrets, hardware, or private networks
129+
- vague prompts like *"fix this"* without logs or expected behavior
130+
- cross-owner GitHub work unless the project and repo mapping is clear
131+
- changes that should be manually designed before implementation

src/lib/content/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -516,7 +516,7 @@ function isDynamicRoute(path: string): boolean {
516516
}
517517

518518
function shouldHideCategory(dirName: string): boolean {
519-
const HIDDEN_DIRS = new Set(['model-cards']);
519+
const HIDDEN_DIRS = new Set(['model-cards', 'vibe']);
520520
return HIDDEN_DIRS.has(dirName);
521521
}
522522

0 commit comments

Comments
 (0)