Skip to content

Commit 61bf2c9

Browse files
committed
Simplified getting started section
1 parent 6efd0f6 commit 61bf2c9

File tree

1 file changed

+29
-97
lines changed

1 file changed

+29
-97
lines changed

README.md

Lines changed: 29 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!--
22
---
33
name: Snippy - Intelligent Code Snippet Service with MCP Tools
4-
description: A serverless code snippet management service using Azure Functions, Durable Functions, Azure OpenAI, Microsoft Fabric and Azure AI Agents.
4+
description: A serverless code snippet management service using Azure Functions, Durable Functions, Azure OpenAI, Durable Functions and Agent Framework.
55
page_type: sample
66
languages:
77
- python
@@ -20,8 +20,7 @@ urlFragment: snippy
2020
-->
2121

2222
<p align="center">
23-
<img src="https://raw.githubusercontent.com/Azure-Samples/snippy/main/.github/assets/snippy-logo-large.png" alt="Snippy logo" width="150"><br>
24-
<b>Snippy · Intelligent Code-Snippet Service with MCP Tools</b>
23+
<img src="https://raw.githubusercontent.com/Azure-Samples/snippy/main/images/snippy-logo.png" alt="Snippy">
2524
</p>
2625

2726
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=Azure-Samples/snippy&machine=basicLinux32gb&devcontainer_path=.devcontainer%2Fdevcontainer.json)
@@ -37,8 +36,8 @@ The system uses **Durable Task Scheduler** to orchestrate multi-agent workflows,
3736
> This repository is intended for learning and demonstration purposes. **Do not** deploy it to production without a thorough security review. At a minimum you should:
3837
>
3938
> * Swap connection strings for **Managed Identity** + **Azure Key Vault**
40-
* Restrict network access to Azure services via Private Endpoints or service‑tags
41-
* Enable GitHub secret‑scanning and CI security tools
39+
> * Restrict network access to Azure services via Private Endpoints or service‑tags
40+
> * Enable GitHub secret‑scanning and CI security tools
4241
4342
[Features](#features)[Lab Tutorial](#lab-tutorial)[Getting Started](#getting-started)[Guidance](#guidance)
4443

@@ -70,7 +69,7 @@ The system uses **Durable Task Scheduler** to orchestrate multi-agent workflows,
7069

7170
New to Snippy? Start with our comprehensive **hands-on lab tutorial** that guides you through building the entire application from scratch:
7271

73-
📚 **[Snippy Tutorial: Building an AI-Enhanced Code Snippet Manager](lab/TUTORIAL.md)**
72+
📚 **[Snippy Tutorial: Building an AI-Enhanced Code Snippet Manager](https://azure-samples.github.io/snippy/)**
7473

7574
The tutorial covers:
7675

@@ -83,98 +82,54 @@ The tutorial covers:
8382

8483
**Additional Resources:**
8584

86-
* [Quick Reference](lab/QUICK_REFERENCE.md) – Essential commands and common tasks
87-
* [Troubleshooting Guide](lab/TROUBLESHOOTING.md) – Solutions to common issues
85+
* [Quick Reference](https://azure-samples.github.io/snippy/QUICK_REFERENCE/) – Essential commands and common tasks
86+
* [Troubleshooting Guide](https://azure-samples.github.io/snippy/TROUBLESHOOTING/) – Solutions to common issues
8887

8988
Whether you're new to Azure Functions, MCP tools, or AI agent development, the lab provides a structured learning path with hands-on experience.
90-
9189
---
9290

9391
## Getting Started
9492

95-
You can run Snippy in **GitHub Codespaces**, **VS Code Dev Containers**, or your **local environment**. The fastest path is Codespaces.
96-
97-
> Snippy requires an Azure region that supports *text‑embedding‑3‑small* (or a compatible embeddings model) **and** Azure AI Agents. The `azd` workflow prompts you for a region; we recommend **eastus** for best availability.
98-
99-
### GitHub Codespaces
100-
101-
1. Click **Open in Codespaces** above (first badge) – the container build may take a few minutes.
102-
2. When the terminal appears, sign in:
103-
104-
```bash
105-
azd auth login --use-device-code
106-
```
107-
3. Launch the stack:
93+
### Prerequisites
10894

109-
```bash
110-
azd up
111-
```
112-
4. Once deployment completes, copy the printed MCP URL and open GitHub Copilot Chat → *Agent* mode to try commands like “Save this snippet as **hello‑world**”.
95+
* Azure subscription with permissions to create resources
96+
* [azd CLI](https://aka.ms/install-azd) installed
97+
* Choose your development environment:
98+
- **GitHub Codespaces** (fastest, no local setup required)
99+
- **VS Code Dev Containers** (requires [Docker Desktop](https://www.docker.com/products/docker-desktop))
100+
- **Local development** (requires Python 3.11, Node 18+, Azure Functions Core Tools v4)
113101

114-
### VS Code Dev Containers
102+
### Deploy to Azure
115103

116-
Prerequisites: [Docker Desktop](https://www.docker.com/products/docker-desktop) + the [Dev Containers](https://aka.ms/vscode/dev-containers) extension.
104+
**Using GitHub Codespaces:**
117105

118-
1. Click the **Dev Containers** badge (second badge) or run *Remote‑Containers: Open Repository in Container* from VS Code.
119-
2. Sign in and launch as shown for Codespaces:
106+
Click the "Open in GitHub Codespaces" badge above, then run:
120107

121-
```bash
122-
azd auth login
123-
azd up
124-
```
125-
126-
### Local Environment
127-
128-
#### Prerequisites
129-
130-
* [azd](https://aka.ms/install-azd) CLI
131-
* Python 3.11 + [`uv`](https://github.com/astral-sh/uv)
132-
* Node 18+ (for Functions Core Tools)
133-
* Azure Functions Core Tools v4 (`npm i -g azure-functions-core-tools@4 --unsafe-perm`)
108+
```bash
109+
azd auth login --use-device-code
110+
azd up
111+
```
134112

135-
#### Quickstart
113+
**Using Dev Containers or Local Environment:**
136114

137115
```bash
138-
# 1. Clone & init
139116
azd init --template Azure-Samples/snippy
140-
141-
# 2. Sign in
142117
azd auth login
143-
144-
# 3. Provision & deploy
145118
azd up
146119
```
147120

148-
The CLI will automatically:
149-
150-
* Create an Azure AD app registration for OAuth authentication
151-
* Provision all Azure resources (Functions, Cosmos DB, OpenAI, etc.)
121+
The `azd up` command will:
122+
* Prompt for an Azure region (recommend **eastus** or **swedencentral**)
123+
* Provision all resources (Functions, Cosmos DB, Azure OpenAI, DTS)
124+
* Create an Azure AD app registration for authentication
152125
* Deploy the application code
153126

154-
The CLI prints the Function App URL, MCP endpoint and system key when finished. To remove all resources later:
155-
156-
```bash
157-
azd down --purge
158-
```
159-
160-
> **Note**: The first run automatically creates an Azure AD app registration with OAuth2 scope `access_as_user` for authentication.
161-
162-
### Local Development with Emulators
127+
When complete, the Function App URL and MCP endpoint will be displayed. See the [tutorial](https://azure-samples.github.io/snippy/) for detailed instructions on local development, testing with emulators, and monitoring orchestrations.
163128

164-
For local development, Snippy uses the **Durable Task Scheduler (DTS) emulator** and **Azurite** for storage.
165-
166-
#### With Docker (Recommended)
167-
168-
The easiest way to run both emulators:
169-
170-
```bash
171-
# Start both emulators
172-
docker compose up -d
129+
---
173130

174-
# Generate local.settings.json from your Azure environment
175-
./scripts/generate-settings.sh
131+
## Architecture
176132

177-
# Run the Functions app
178133
```mermaid
179134
flowchart LR
180135
subgraph mcphosts["MCP Hosts & Clients (Your Computer)"]
@@ -194,29 +149,6 @@ flowchart LR
194149

195150
---
196151

197-
## Monitoring & Orchestration
198-
199-
* **Local development**: Monitor orchestrations at <http://localhost:8082/> when using the DTS emulator
200-
* **Azure deployment**: Use the DTS dashboard scripts to generate monitoring URLs:
201-
* Bash: `./scripts/get-dts-dashboard-url.sh`
202-
* PowerShell: `.\scripts\get-dts-dashboard-url.ps1`
203-
* View multi-agent orchestration execution, including DeepWiki and CodeStyle agent calls
204-
* Track tool invocations, state transitions, and execution timelines
205-
206-
---
207-
208-
```
209-
210-
To switch back to DTS when Docker becomes available:
211-
212-
```bash
213-
./scripts/switch-storage-backend.sh dts
214-
```
215-
216-
For detailed setup instructions and troubleshooting, see [LOCAL_DEVELOPMENT.md](LOCAL_DEVELOPMENT.md).
217-
218-
---
219-
220152
## Guidance
221153

222154
### Region Availability

0 commit comments

Comments
 (0)