This repository is configured to run in GitHub Codespaces with all necessary tools and dependencies pre-installed.
- Open in Codespaces: Click the green "Code" button and select "Create codespace on main"
- Wait for setup: The environment will automatically install .NET 9.0 and all required packages
- Configure API Keys: Set up your OpenAI or Azure OpenAI credentials (see below)
- Start coding: All modules are ready to run!
You'll need to configure API keys for the AI services. Use .NET user secrets to store them securely:
# Replace with your actual values
dotnet user-secrets set "AzureOpenAI:Endpoint" "https://your-resource.openai.azure.com/" --project module2/SK_Console
dotnet user-secrets set "AzureOpenAI:ApiKey" "your-api-key" --project module2/SK_Console
dotnet user-secrets set "AzureOpenAI:DeploymentName" "your-deployment-name" --project module2/SK_Consoledotnet user-secrets set "OpenAI:ApiKey" "your-openai-api-key" --project module2/SK_Console- Module 2: Foundation - Basic Semantic Kernel concepts
- Module 3: Model Providers - OpenAI, Azure AI, Ollama, Hugging Face, etc.
- Module 4: Multimodal AI - Working with images and text
- Module 5: Web Applications - ASP.NET Core with Semantic Kernel
- Module 7: Advanced Features - Plugins and complex scenarios
- Module 8: RAG Applications - Retrieval-Augmented Generation with document processing
cd module2/SK_Console
dotnet runcd module5
dotnet run --project SKDevChat.AppHost
# Or for Module 8 (RAG functionality)
cd module8
dotnet run --project SKDevChat.AppHostThe Aspire dashboard will be available at the forwarded port (usually port 15000).
The Codespace automatically forwards these ports:
- 5000/5001: Standard .NET development server
- 7000/7001: Chat application
- 8080/8081: Customer API
- 15000/15001: .NET Aspire Dashboard
- 18888: Aspire OTLP endpoint
The Codespace includes:
- β .NET 9.0 SDK (latest version)
- β .NET Aspire workload (latest - 9.3.x series)
- β Azure CLI
- β Node.js (for any frontend dependencies)
- β Git & GitHub CLI
- β VS Code extensions for C# and Aspire development
- Hot Reload: Use
dotnet watch runfor automatic reloading during development - Multiple Projects: Each module can be run independently
- Secrets Management: Always use
dotnet user-secretsfor API keys, never commit them to code - Aspire Dashboard: Great for monitoring distributed applications in modules 5, 7, and 8
- Build Errors: Run
dotnet restoreanddotnet buildin the specific module directory - Missing Packages: The setup script should install everything, but you can manually restore with
dotnet restore - Port Issues: Check the "Ports" tab in VS Code to see forwarded ports
Happy learning! π