Quick Start Guide#
Get up and running with SousChef in minutes. This guide walks you through your first Chef-to-Ansible migration.
Prerequisites#
Before you begin, make sure you have:
- SousChef installed (Installation guide)
- MCP client configured (choose one below)
- A Chef cookbook to migrate
MCP Client Setup#
Choose your preferred AI assistant and follow the setup instructions:
1. Install SousChef:
2. Configure Claude Desktop:
3. Restart Claude Desktop
4. Verify: Open Claude and ask "What Chef migration tools are available?"
MCP Support Available
GitHub Copilot in VS Code supports MCP servers starting from VS Code 1.102 (January 2026).
Prerequisites
- VS Code 1.102 or later
- GitHub Copilot extension installed
- Python 3.10+ installed
Setup Steps
-
Install SousChef:
-
Configure MCP Server:
Copy the configuration to your VS Code user directory:
Or create ~/.config/Code/User/mcp.json (macOS/Linux) or %APPDATA%\Code\User\mcp.json (Windows) with:
{
"servers": {
"souschef": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "mcp-souschef", "souschef"]
}
}
}
-
Activate in VS Code:
- Reload VS Code window (
Cmd+Shift+P→ "Developer: Reload Window") - Run
MCP: List Serversfrom Command Palette - Find "souschef" and start it
- Trust the server when prompted
- Reload VS Code window (
-
Start Using:
- Open GitHub Copilot Chat (
Ctrl+Cmd+IorCtrl+Alt+I) - Click the Tools button to enable SousChef tools
- Start asking questions!
- Open GitHub Copilot Chat (
Example Prompts:
What Chef cookbooks are in /path/to/cookbooks?
Convert this Chef recipe to Ansible
Assess the complexity of migrating cookbook XYZ
Explicit Tool References:
Learn more about MCP in VS Code →
1. Install SousChef:
2. Add to your MCP client config:
3. Restart your MCP client
Your First Migration#
Step 1: Analyze a Cookbook#
Start by analyzing a Chef cookbook to understand its structure:
The analysis will show: - Cookbook structure and files - Recipe resources and actions - Attributes and their precedence - Template variables - Dependencies
Step 2: Convert a Recipe to a Playbook#
Convert your first Chef recipe to an Ansible playbook:
Example conversion:
Chef Recipe (recipes/webserver.rb):
package 'nginx' do
action :install
end
service 'nginx' do
action [:enable, :start]
end
template '/etc/nginx/nginx.conf' do
source 'nginx.conf.erb'
variables({
worker_processes: node['nginx']['workers']
})
notifies :reload, 'service[nginx]'
end
Generated Ansible Playbook:
---
- name: Webserver cookbook playbook
hosts: all
become: yes
tasks:
- name: Install nginx
ansible.builtin.package:
name: nginx
state: present
- name: Enable and start nginx
ansible.builtin.service:
name: nginx
enabled: yes
state: started
- name: Configure nginx
ansible.builtin.template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
vars:
worker_processes: "{{ nginx_workers }}"
notify: Reload nginx
handlers:
- name: Reload nginx
ansible.builtin.service:
name: nginx
state: reloaded
Step 3: Validate the Conversion#
Validate that the conversion is correct and follows best practices:
The validation checks: - [YES] Syntax correctness - [YES] Semantic equivalence - [YES] Best practices compliance - [YES] Security considerations - [YES] Performance optimizations
Step 4: Test the Playbook#
Before deploying, test your converted playbook:
# Syntax check
ansible-playbook playbook.yml --syntax-check
# Dry run
ansible-playbook playbook.yml --check
# Run on test environment
ansible-playbook playbook.yml -i test_inventory
Common Migration Patterns#
Converting Data Bags to Variables#
Convert Chef data bags to Ansible variables:
Generating AWX Job Templates#
Create AWX/AAP job templates from cookbooks:
Converting InSpec Tests#
Convert InSpec tests to Ansible validation:
Example Workflows#
Complete Cookbook Migration#
-
Assess complexity:
-
Generate migration plan:
-
Convert recipes:
-
Convert data bags:
-
Create AWX integration:
Habitat to Container Migration#
-
Parse Habitat plan:
-
Convert to Dockerfile:
-
Generate Compose:
Tips for Success#
Start Small
Begin with a simple cookbook that has few dependencies. This helps you understand the conversion process before tackling complex cookbooks.
Review Conversions
Always review generated playbooks for:
- Correct module selection
- Proper variable substitution
- Guard condition conversion
- Notification handling
Use Validation
Run the validation tool on every conversion to catch potential issues early.
Test Incrementally
Test converted playbooks in a development environment before production deployment.
Next Steps#
Now that you've completed your first migration, explore:
- MCP Tools Reference - All 38 available tools
- CLI Usage Guide - Advanced CLI features
- Migration Guide - Complete migration methodology
- Examples - Real-world migration examples
Getting Help#
If you encounter issues:
- Check the Troubleshooting section
- Review the API Reference
- Ask your AI assistant for help
- Open an issue on GitHub
Troubleshooting#
Conversion Doesn't Match Expected Output#
- Review the Chef recipe for complex guards or custom resources
- Check attribute precedence in the source cookbook
- Validate that template variables are correctly extracted
Playbook Fails Ansible Lint#
- Run the validation tool to identify issues
- Review Ansible best practices in the User Guide
- Check for deprecated module usage
Performance Issues with Large Cookbooks#
- Use the profiling tools to identify bottlenecks:
- Consider breaking large recipes into smaller, focused playbooks
- Review the Performance Optimization guide