mcp-souschef 2.2.0__tar.gz → 2.8.0__tar.gz
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.
- mcp_souschef-2.2.0/README.md → mcp_souschef-2.8.0/PKG-INFO +244 -37
- mcp_souschef-2.2.0/PKG-INFO → mcp_souschef-2.8.0/README.md +208 -56
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/pyproject.toml +36 -5
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/__init__.py +10 -2
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/assessment.py +113 -30
- mcp_souschef-2.8.0/souschef/ci/__init__.py +11 -0
- mcp_souschef-2.8.0/souschef/ci/github_actions.py +379 -0
- mcp_souschef-2.8.0/souschef/ci/gitlab_ci.py +299 -0
- mcp_souschef-2.8.0/souschef/ci/jenkins_pipeline.py +343 -0
- mcp_souschef-2.8.0/souschef/cli.py +1125 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/converters/__init__.py +2 -2
- mcp_souschef-2.8.0/souschef/converters/cookbook_specific.py +125 -0
- mcp_souschef-2.8.0/souschef/converters/cookbook_specific.py.backup +109 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/converters/playbook.py +853 -15
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/converters/resource.py +103 -1
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/core/constants.py +13 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/core/path_utils.py +12 -9
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/core/validation.py +35 -2
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/deployment.py +29 -27
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/filesystem/operations.py +0 -7
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/parsers/__init__.py +6 -1
- mcp_souschef-2.8.0/souschef/parsers/attributes.py +622 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/parsers/inspec.py +343 -18
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/parsers/metadata.py +30 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/parsers/recipe.py +48 -10
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/server.py +429 -178
- mcp_souschef-2.8.0/souschef/ui/__init__.py +8 -0
- mcp_souschef-2.8.0/souschef/ui/app.py +2998 -0
- mcp_souschef-2.8.0/souschef/ui/health_check.py +36 -0
- mcp_souschef-2.8.0/souschef/ui/pages/ai_settings.py +497 -0
- mcp_souschef-2.8.0/souschef/ui/pages/cookbook_analysis.py +1360 -0
- mcp_souschef-2.2.0/souschef/cli.py +0 -525
- mcp_souschef-2.2.0/souschef/parsers/attributes.py +0 -257
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/LICENSE +0 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/converters/habitat.py +0 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/core/__init__.py +0 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/core/errors.py +0 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/core/ruby_utils.py +0 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/filesystem/__init__.py +0 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/parsers/habitat.py +0 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/parsers/resource.py +0 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/parsers/template.py +0 -0
- {mcp_souschef-2.2.0 → mcp_souschef-2.8.0}/souschef/profiling.py +0 -0
|
@@ -1,11 +1,46 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: mcp-souschef
|
|
3
|
+
Version: 2.8.0
|
|
4
|
+
Summary: AI-powered MCP server for Chef to Ansible conversion
|
|
5
|
+
License: MIT
|
|
6
|
+
License-File: LICENSE
|
|
7
|
+
Keywords: chef,ansible,migration,infrastructure,automation,mcp,ai,conversion
|
|
8
|
+
Author: SousChef Contributors
|
|
9
|
+
Requires-Python: >=3.14,<4.0
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: Intended Audience :: System Administrators
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
17
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
18
|
+
Classifier: Topic :: System :: Systems Administration
|
|
19
|
+
Classifier: Topic :: Utilities
|
|
20
|
+
Provides-Extra: ui
|
|
21
|
+
Requires-Dist: anthropic (>=0.75.0)
|
|
22
|
+
Requires-Dist: click (>=8.1.0)
|
|
23
|
+
Requires-Dist: mcp (>=1.25.0)
|
|
24
|
+
Requires-Dist: openai (>=1.0.0)
|
|
25
|
+
Requires-Dist: pandas (>=2.0.0) ; extra == "ui"
|
|
26
|
+
Requires-Dist: plotly (>=5.0.0)
|
|
27
|
+
Requires-Dist: python-dotenv (>=1.2.1)
|
|
28
|
+
Requires-Dist: pyyaml (>=6.0.0)
|
|
29
|
+
Requires-Dist: streamlit (>=1.28.0)
|
|
30
|
+
Requires-Dist: zod (>=0.8.0)
|
|
31
|
+
Project-URL: Documentation, https://kpeacocke.github.io/souschef/
|
|
32
|
+
Project-URL: Homepage, https://github.com/kpeacocke/souschef
|
|
33
|
+
Project-URL: Repository, https://github.com/kpeacocke/souschef
|
|
34
|
+
Description-Content-Type: text/markdown
|
|
35
|
+
|
|
1
36
|
# Chef to Ansible migration - SousChef MCP
|
|
2
37
|
|
|
3
38
|
An AI-powered MCP (Model Context Protocol) server that provides comprehensive Chef-to-Ansible migration capabilities for enterprise infrastructure transformation.
|
|
4
39
|
|
|
5
|
-
[](https://github.com/kpeacocke/souschef/releases)
|
|
6
41
|
[](https://www.python.org/downloads/)
|
|
7
42
|
[](https://opensource.org/licenses/MIT)
|
|
8
|
-
[](htmlcov/index.html)
|
|
9
44
|
[](https://github.com/astral-sh/ruff)
|
|
10
45
|
[](http://mypy-lang.org/)
|
|
11
46
|
[](https://sonarcloud.io/summary/new_code?id=kpeacocke_souschef)
|
|
@@ -14,7 +49,17 @@ An AI-powered MCP (Model Context Protocol) server that provides comprehensive Ch
|
|
|
14
49
|
|
|
15
50
|
## Overview - Chef to Ansible features
|
|
16
51
|
|
|
17
|
-
SousChef is a complete enterprise-grade migration platform with
|
|
52
|
+
SousChef is a complete enterprise-grade migration platform with **32 primary MCP tools** organised across **10 major capability areas** to facilitate Chef-to-Ansible AWX/AAP migrations. From cookbook analysis to deployment pattern conversion, including Chef Habitat to containerised deployments and CI/CD pipeline generation, SousChef provides everything needed for a successful infrastructure automation migration.
|
|
53
|
+
|
|
54
|
+
### About Tool Counts
|
|
55
|
+
|
|
56
|
+
**Why 32 tools in the documentation but more in the server?**
|
|
57
|
+
|
|
58
|
+
The MCP server provides **37 total tools** (35 public + 2 internal). This documentation focuses on the **32 primary user-facing tools** that cover the main migration capabilities. The remaining 3 tools are low-level filesystem operations and helper utilities used internally by the main tools.
|
|
59
|
+
|
|
60
|
+
As a user, you'll primarily interact with the 27 documented tools. Your AI assistant may use the additional tools automatically when needed, but you don't need to know about them for successful migrations.
|
|
61
|
+
|
|
62
|
+
> **For developers:** See `souschef/server.py` for the complete list of all 37 registered tools.
|
|
18
63
|
|
|
19
64
|
## Model Agnostic - Works with Any AI Model
|
|
20
65
|
|
|
@@ -27,10 +72,17 @@ SousChef is a complete enterprise-grade migration platform with 38 MCP tools org
|
|
|
27
72
|
- **Local Models** (Ollama, llama.cpp, etc.)
|
|
28
73
|
- **Custom Enterprise Models**
|
|
29
74
|
|
|
30
|
-
**How it works:** You choose your AI model provider in your MCP client. SousChef provides the Chef/Ansible expertise through
|
|
75
|
+
**How it works:** You choose your AI model provider in your MCP client. SousChef provides the Chef/Ansible expertise through 27 specialized tools. The model calls these tools to help with your migration.
|
|
31
76
|
|
|
32
77
|
> See [config/CONFIGURATION.md](config/CONFIGURATION.md) for configuration examples with different model providers.
|
|
33
78
|
|
|
79
|
+
## Quick Links
|
|
80
|
+
|
|
81
|
+
- **[Terraform Provider](terraform-provider/README.md)** - Manage migrations with infrastructure-as-code
|
|
82
|
+
- **[User Guide](docs/user-guide/)** - Complete documentation
|
|
83
|
+
- **[API Reference](docs/api-reference/)** - Detailed tool documentation
|
|
84
|
+
- **[Migration Guide](docs/migration-guide/)** - Step-by-step migration process
|
|
85
|
+
|
|
34
86
|
## Installation
|
|
35
87
|
|
|
36
88
|
```bash
|
|
@@ -55,7 +107,7 @@ Complete cookbook introspection and analysis tools:
|
|
|
55
107
|
- **list_directory** - Navigate and explore cookbook directory structures
|
|
56
108
|
- **read_file** - Read cookbook files with error handling
|
|
57
109
|
- **read_cookbook_metadata** - Parse metadata.rb files for dependencies and cookbook information
|
|
58
|
-
- **parse_recipe** -
|
|
110
|
+
- **parse_recipe** - Analyse Chef recipes and extract resources, actions, and properties
|
|
59
111
|
- **parse_attributes** - Parse attribute files with **advanced precedence resolution** (6 levels: default, force_default, normal, override, force_override, automatic)
|
|
60
112
|
- **list_cookbook_structure** - Display complete cookbook directory hierarchy
|
|
61
113
|
|
|
@@ -76,7 +128,7 @@ Convert Chef search patterns to dynamic Ansible inventory:
|
|
|
76
128
|
|
|
77
129
|
- **convert_chef_search_to_inventory** - Transform Chef search queries to Ansible inventory groups
|
|
78
130
|
- **generate_dynamic_inventory_script** - Create dynamic inventory scripts from Chef server queries
|
|
79
|
-
- **
|
|
131
|
+
- **analyse_chef_search_patterns** - Discover and analyse search usage in cookbooks
|
|
80
132
|
|
|
81
133
|
### 4. InSpec Integration & Validation
|
|
82
134
|
Complete InSpec-to-Ansible testing pipeline:
|
|
@@ -90,14 +142,14 @@ Chef data bags to Ansible vars/vault conversion:
|
|
|
90
142
|
|
|
91
143
|
- **convert_chef_databag_to_vars** - Transform data bags to Ansible variable files
|
|
92
144
|
- **generate_ansible_vault_from_databags** - Convert encrypted data bags to Ansible Vault
|
|
93
|
-
- **
|
|
145
|
+
- **analyse_chef_databag_usage** - Analyse data bag usage patterns in cookbooks
|
|
94
146
|
|
|
95
147
|
### 6. Environment & Configuration Management
|
|
96
148
|
Chef environments to Ansible inventory groups:
|
|
97
149
|
|
|
98
150
|
- **convert_chef_environment_to_inventory_group** - Transform Chef environments to inventory
|
|
99
151
|
- **generate_inventory_from_chef_environments** - Generate complete inventory from environments
|
|
100
|
-
- **
|
|
152
|
+
- **analyse_chef_environment_usage** - Analyse environment usage in cookbooks
|
|
101
153
|
|
|
102
154
|
### 7. AWX/Ansible Automation Platform Integration
|
|
103
155
|
Enterprise AWX/AAP configuration generation:
|
|
@@ -121,7 +173,67 @@ Modern deployment strategies and migration planning:
|
|
|
121
173
|
- **generate_blue_green_deployment_playbook** - Create blue/green deployment playbooks
|
|
122
174
|
- **generate_canary_deployment_strategy** - Generate canary deployment configurations
|
|
123
175
|
|
|
124
|
-
### 10.
|
|
176
|
+
### 10. CI/CD Pipeline Generation
|
|
177
|
+
Generate Jenkins, GitLab CI, and GitHub Actions workflows from Chef cookbook CI patterns:
|
|
178
|
+
|
|
179
|
+
- **generate_jenkinsfile_from_chef** - Generate Jenkinsfile (Declarative or Scripted) from Chef cookbook CI/CD patterns
|
|
180
|
+
- **generate_gitlab_ci_from_chef** - Generate .gitlab-ci.yml from Chef cookbook testing tools
|
|
181
|
+
- **generate_github_workflow_from_chef** - Generate GitHub Actions workflow from Chef cookbook CI/CD patterns
|
|
182
|
+
|
|
183
|
+
Automatically detects and converts:
|
|
184
|
+
- **Test Kitchen** configurations (.kitchen.yml) → Integration test stages
|
|
185
|
+
- **ChefSpec** tests (spec/) → Unit test stages
|
|
186
|
+
- **Cookstyle/Foodcritic** → Lint stages
|
|
187
|
+
- Multiple test suites → Parallel execution strategies
|
|
188
|
+
|
|
189
|
+
#### Example Usage
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
# Generate Jenkins Declarative pipeline
|
|
193
|
+
souschef generate-jenkinsfile ./mycookbook
|
|
194
|
+
|
|
195
|
+
# Generate Jenkins Scripted pipeline
|
|
196
|
+
souschef generate-jenkinsfile ./mycookbook --pipeline-type scripted
|
|
197
|
+
|
|
198
|
+
# Generate GitLab CI configuration
|
|
199
|
+
souschef generate-gitlab-ci ./mycookbook
|
|
200
|
+
|
|
201
|
+
# Generate GitHub Actions workflow
|
|
202
|
+
souschef generate-github-workflow ./mycookbook
|
|
203
|
+
|
|
204
|
+
# Customize with options
|
|
205
|
+
souschef generate-gitlab-ci ./mycookbook --no-cache --no-artifacts
|
|
206
|
+
souschef generate-github-workflow ./mycookbook --workflow-name "My CI" --no-cache
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**MCP Tool Usage:**
|
|
210
|
+
```python
|
|
211
|
+
# From an AI assistant with SousChef MCP
|
|
212
|
+
|
|
213
|
+
# Generate Jenkins pipeline
|
|
214
|
+
generate_jenkinsfile_from_chef(
|
|
215
|
+
cookbook_path="/path/to/cookbook",
|
|
216
|
+
pipeline_type="declarative", # or "scripted"
|
|
217
|
+
enable_parallel="yes" # or "no"
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
# Generate GitLab CI
|
|
221
|
+
generate_gitlab_ci_from_chef(
|
|
222
|
+
cookbook_path="/path/to/cookbook",
|
|
223
|
+
enable_cache="yes", # or "no"
|
|
224
|
+
enable_artifacts="yes" # or "no"
|
|
225
|
+
)
|
|
226
|
+
|
|
227
|
+
# Generate GitHub Actions workflow
|
|
228
|
+
generate_github_workflow_from_chef(
|
|
229
|
+
cookbook_path="/path/to/cookbook",
|
|
230
|
+
workflow_name="Chef Cookbook CI",
|
|
231
|
+
enable_cache="yes", # or "no"
|
|
232
|
+
enable_artifacts="yes" # or "no"
|
|
233
|
+
)
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### 11. Conversion Validation Framework
|
|
125
237
|
Comprehensive validation of Chef-to-Ansible conversions:
|
|
126
238
|
|
|
127
239
|
- **validate_conversion** - Validate conversions across multiple dimensions
|
|
@@ -163,10 +275,10 @@ Output formats:
|
|
|
163
275
|
- **json**: Structured JSON for programmatic processing
|
|
164
276
|
- **summary**: Quick overview with counts only
|
|
165
277
|
|
|
166
|
-
- **
|
|
278
|
+
- **analyse_chef_application_patterns** - Identify application deployment patterns
|
|
167
279
|
- **assess_chef_migration_complexity** - Comprehensive migration complexity assessment
|
|
168
280
|
- **generate_migration_plan** - Create detailed migration execution plans
|
|
169
|
-
- **
|
|
281
|
+
- **analyse_cookbook_dependencies** - Analyse dependencies and migration order
|
|
170
282
|
- **generate_migration_report** - Generate executive and technical migration reports
|
|
171
283
|
|
|
172
284
|
## Migration Workflow
|
|
@@ -176,8 +288,8 @@ Output formats:
|
|
|
176
288
|
# Assess migration complexity
|
|
177
289
|
assess_chef_migration_complexity /path/to/cookbooks
|
|
178
290
|
|
|
179
|
-
#
|
|
180
|
-
|
|
291
|
+
# Analyse cookbook dependencies
|
|
292
|
+
analyse_cookbook_dependencies /path/to/cookbook
|
|
181
293
|
|
|
182
294
|
# Generate migration plan
|
|
183
295
|
generate_migration_plan '{\"cookbooks\": [\"/path/to/cookbook1\", \"/path/to/cookbook2\"]}'
|
|
@@ -248,14 +360,84 @@ profile_cookbook_performance /path/to/large_cookbook
|
|
|
248
360
|
profile_parsing_operation recipe /path/to/recipe.rb --detailed
|
|
249
361
|
```
|
|
250
362
|
|
|
251
|
-
|
|
252
|
-
-
|
|
253
|
-
|
|
254
|
-
-
|
|
255
|
-
-
|
|
256
|
-
-
|
|
363
|
+
### 10. Visual Migration Planning Interface
|
|
364
|
+
Interactive web-based interface for Chef-to-Ansible migration planning and visualization:
|
|
365
|
+
|
|
366
|
+
- **Cookbook Analysis Dashboard**: Interactive directory scanning with metadata parsing and complexity assessment
|
|
367
|
+
- **Migration Planning Wizard**: Step-by-step migration planning with effort estimation and risk analysis
|
|
368
|
+
- **Dependency Mapping**: Visual dependency graphs showing cookbook relationships and migration ordering
|
|
369
|
+
- **Validation Reports**: Conversion validation results with syntax checking and best practice compliance
|
|
370
|
+
- **Progress Tracking**: Real-time migration progress with completion metrics and bottleneck identification
|
|
371
|
+
|
|
372
|
+
**Launch the UI:**
|
|
373
|
+
```bash
|
|
374
|
+
# Using Poetry (development)
|
|
375
|
+
poetry run souschef ui
|
|
376
|
+
|
|
377
|
+
# Using pip (installed)
|
|
378
|
+
souschef ui
|
|
379
|
+
|
|
380
|
+
# Custom port
|
|
381
|
+
souschef ui --port 8080
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
**Run in Docker:**
|
|
385
|
+
```bash
|
|
386
|
+
# Build the image
|
|
387
|
+
docker build -t souschef-ui .
|
|
257
388
|
|
|
258
|
-
|
|
389
|
+
# Run the container
|
|
390
|
+
docker run -p 8501:8501 souschef-ui
|
|
391
|
+
|
|
392
|
+
# Or use docker-compose
|
|
393
|
+
docker-compose up
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
**Docker Compose (recommended for development):**
|
|
397
|
+
```yaml
|
|
398
|
+
version: '3.8'
|
|
399
|
+
services:
|
|
400
|
+
souschef-ui:
|
|
401
|
+
build: .
|
|
402
|
+
ports:
|
|
403
|
+
- "8501:8501"
|
|
404
|
+
restart: unless-stopped
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
**Features:**
|
|
408
|
+
- Clean, professional design matching documentation standards
|
|
409
|
+
- Real-time cookbook analysis with progress indicators
|
|
410
|
+
- **Interactive dependency visualization** with Plotly graphs and NetworkX analysis
|
|
411
|
+
- **Static graph visualization** with matplotlib for reports and documentation
|
|
412
|
+
- **Real-time progress tracking** for all analysis operations
|
|
413
|
+
- Migration planning wizards with effort estimation
|
|
414
|
+
- Validation reporting dashboard with conversion quality metrics
|
|
415
|
+
- Cross-platform compatibility (Linux, macOS, Windows)
|
|
416
|
+
|
|
417
|
+
### Advanced UI Features
|
|
418
|
+
|
|
419
|
+
#### Interactive Dependency Visualization
|
|
420
|
+
The UI includes sophisticated dependency graph visualization powered by NetworkX and Plotly:
|
|
421
|
+
|
|
422
|
+
- **Graph Analysis**: Automatic detection of cookbook dependencies, circular references, and migration ordering
|
|
423
|
+
- **Interactive Exploration**: Zoom, pan, and hover over nodes to explore complex dependency relationships
|
|
424
|
+
- **Color Coding**: Visual distinction between cookbooks, dependencies, community cookbooks, and circular dependencies
|
|
425
|
+
- **Static Export**: Matplotlib-based static graphs for reports and documentation
|
|
426
|
+
- **Large Graph Support**: Optimized layouts for complex cookbook ecosystems
|
|
427
|
+
|
|
428
|
+
#### Real-Time Progress Tracking
|
|
429
|
+
All analysis operations include comprehensive progress feedback:
|
|
430
|
+
|
|
431
|
+
- **Progress Bars**: Visual progress indicators for long-running operations
|
|
432
|
+
- **Status Updates**: Real-time status messages during analysis phases
|
|
433
|
+
- **Operation Tracking**: Separate progress tracking for dependency analysis, validation, and migration planning
|
|
434
|
+
- **Error Handling**: Graceful error display with recovery suggestions
|
|
435
|
+
|
|
436
|
+
#### Enhanced User Experience
|
|
437
|
+
- **Responsive Design**: Clean, professional interface that works across different screen sizes
|
|
438
|
+
- **Export Options**: Download analysis results, graphs, and migration plans
|
|
439
|
+
- **Session Persistence**: Maintain analysis state across page refreshes
|
|
440
|
+
- **Quick Actions**: One-click access to common migration tasks
|
|
259
441
|
|
|
260
442
|
### Migration Assessment & Reporting
|
|
261
443
|
- **Complexity Analysis**: Automated assessment of migration effort and risk factors
|
|
@@ -281,7 +463,7 @@ profile_parsing_operation recipe /path/to/recipe.rb --detailed
|
|
|
281
463
|
### Prerequisites
|
|
282
464
|
- Python 3.14+
|
|
283
465
|
- [Poetry](https://python-poetry.org/) for dependency management
|
|
284
|
-
- MCP-compatible client (Claude Desktop, VS Code with
|
|
466
|
+
- MCP-compatible client (Claude Desktop, VS Code 1.102+ with GitHub Copilot, etc.)
|
|
285
467
|
|
|
286
468
|
### Quick Start
|
|
287
469
|
|
|
@@ -294,9 +476,21 @@ profile_parsing_operation recipe /path/to/recipe.rb --detailed
|
|
|
294
476
|
|
|
295
477
|
Use the pre-configured files in the `config/` directory for quick setup with Claude Desktop, VS Code Copilot, or other MCP clients.
|
|
296
478
|
|
|
479
|
+
**Claude Desktop** (macOS):
|
|
297
480
|
```bash
|
|
298
|
-
# Example: Claude Desktop (macOS)
|
|
299
481
|
cp config/claude-desktop.json ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
|
482
|
+
# Restart Claude Desktop
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
**VS Code + GitHub Copilot** (requires VS Code 1.102+):
|
|
486
|
+
```bash
|
|
487
|
+
# macOS/Linux
|
|
488
|
+
cp config/vscode-copilot.json ~/.config/Code/User/mcp.json
|
|
489
|
+
|
|
490
|
+
# Windows
|
|
491
|
+
copy config\vscode-copilot.json %APPDATA%\Code\User\mcp.json
|
|
492
|
+
|
|
493
|
+
# Reload VS Code window, then trust the server when prompted
|
|
300
494
|
```
|
|
301
495
|
|
|
302
496
|
** See [config/CONFIGURATION.md](config/CONFIGURATION.md) for:**
|
|
@@ -340,6 +534,7 @@ souschef-cli inspec-convert controls.rb --format testinfra
|
|
|
340
534
|
- `inspec-parse` - Parse InSpec profiles and controls
|
|
341
535
|
- `inspec-convert` - Convert InSpec to Testinfra/Ansible tests
|
|
342
536
|
- `inspec-generate` - Generate InSpec validation from recipes
|
|
537
|
+
- `ui` - Launch the Visual Migration Planning Interface
|
|
343
538
|
- `ls` / `cat` - File system operations
|
|
344
539
|
|
|
345
540
|
### Development Setup
|
|
@@ -432,7 +627,7 @@ Each MCP tool includes comprehensive documentation:
|
|
|
432
627
|
- **[Testing Strategy Guide](docs/testing-strategy.md)** - Validation and testing approaches
|
|
433
628
|
- **[Best Practices](docs/best-practices.md)** - Recommended patterns and approaches
|
|
434
629
|
|
|
435
|
-
##
|
|
630
|
+
## Contributing
|
|
436
631
|
|
|
437
632
|
We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for:
|
|
438
633
|
- Development setup and workflow
|
|
@@ -440,13 +635,13 @@ We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for:
|
|
|
440
635
|
- Pull request process
|
|
441
636
|
- Issue reporting guidelines
|
|
442
637
|
|
|
443
|
-
##
|
|
638
|
+
## License
|
|
444
639
|
|
|
445
640
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
446
641
|
|
|
447
642
|
## Roadmap
|
|
448
643
|
|
|
449
|
-
### Completed
|
|
644
|
+
### Completed
|
|
450
645
|
- Complete Chef cookbook parsing (recipes, attributes, metadata, templates)
|
|
451
646
|
- InSpec profile parsing and conversion to Testinfra/Ansible tests
|
|
452
647
|
- Chef resource to Ansible task conversion with module mapping
|
|
@@ -467,18 +662,29 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
467
662
|
- Enhanced error handling with custom exceptions and actionable recovery suggestions
|
|
468
663
|
- Technical debt reduction - ALL PHASES COMPLETE: 16 functions refactored (15 C-grade eliminated, 70+ helpers extracted, average 77% complexity reduction, zero C-grade functions remaining)
|
|
469
664
|
- Performance profiling and optimization for large cookbooks (profiling module, CLI commands, MCP tools)
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
-
|
|
473
|
-
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
-
|
|
477
|
-
-
|
|
665
|
+
- Code duplication elimination (InSpec functions refactored: 55 duplicate lines removed, improved architecture)
|
|
666
|
+
- Documentation website with MkDocs + Material theme (charcoal + teal colour scheme, 16 pages)
|
|
667
|
+
- Comprehensive documentation content (Getting Started, Tool Reference, Migration Guide, API docs, Examples)
|
|
668
|
+
- Integration with additional test frameworks (ServerSpec, Goss) - InSpec conversion now supports 4 output formats
|
|
669
|
+
- Jenkins/GitLab CI pipeline generation from Chef cookbook CI patterns (Test Kitchen, ChefSpec, Cookstyle)
|
|
670
|
+
- Visual migration planning interface with Streamlit-based web UI for interactive cookbook analysis and migration planning
|
|
671
|
+
- **Interactive dependency mapping and visualization** with Plotly graphs and NetworkX analysis
|
|
672
|
+
- **Real-time progress tracking** for all analysis operations with Streamlit progress bars
|
|
673
|
+
- **Static graph visualization** with matplotlib for reports and documentation
|
|
674
|
+
|
|
675
|
+
### Planned
|
|
676
|
+
- 📅 Enhanced graph layout algorithms for large dependency networks (force-directed, hierarchical)
|
|
677
|
+
- 📅 Export functionality for graphs (PNG, SVG, PDF formats)
|
|
678
|
+
- 📅 UI configuration options and themes
|
|
679
|
+
- 📅 Performance caching for expensive analysis operations
|
|
680
|
+
- 📅 Mobile-responsive design improvements
|
|
681
|
+
- 📅 Accessibility enhancements (ARIA labels, keyboard navigation)
|
|
682
|
+
- 📅 Integration testing for UI components
|
|
683
|
+
- 📅 Advanced filtering and search in dependency graphs
|
|
684
|
+
- 📅 Migration templates and presets
|
|
478
685
|
- 📅 Terraform provider for infrastructure state management
|
|
479
|
-
- 📅 Jenkins/GitLab CI pipeline generation
|
|
480
686
|
|
|
481
|
-
##
|
|
687
|
+
## Support & Community
|
|
482
688
|
|
|
483
689
|
- **Issues**: [GitHub Issues](https://github.com/kpeacocke/souschef/issues)
|
|
484
690
|
- **Discussions**: [GitHub Discussions](https://github.com/kpeacocke/souschef/discussions)
|
|
@@ -486,7 +692,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
486
692
|
|
|
487
693
|
---
|
|
488
694
|
|
|
489
|
-
**SousChef** - *Transforming infrastructure automation, one recipe at a time.*
|
|
695
|
+
**SousChef** - *Transforming infrastructure automation, one recipe at a time.*
|
|
490
696
|
desc 'Ensure package nginx is properly configured'
|
|
491
697
|
impact 1.0
|
|
492
698
|
|
|
@@ -1203,4 +1409,5 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
1203
1409
|
|
|
1204
1410
|
---
|
|
1205
1411
|
|
|
1206
|
-
**SousChef** - *Ansible automation, one recipe at a time.*
|
|
1412
|
+
**SousChef** - *Ansible automation, one recipe at a time.*
|
|
1413
|
+
|