conciliate 0.2.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.
- conciliate-0.2.0/LICENSE +21 -0
- conciliate-0.2.0/PKG-INFO +201 -0
- conciliate-0.2.0/README.md +162 -0
- conciliate-0.2.0/conciliate/__init__.py +6 -0
- conciliate-0.2.0/conciliate/cli.py +355 -0
- conciliate-0.2.0/conciliate/config.py +133 -0
- conciliate-0.2.0/conciliate/diff_engine.py +174 -0
- conciliate-0.2.0/conciliate/mcp_server.py +497 -0
- conciliate-0.2.0/conciliate/server.py +298 -0
- conciliate-0.2.0/conciliate/spec_generator.py +183 -0
- conciliate-0.2.0/conciliate/summarizer.py +233 -0
- conciliate-0.2.0/conciliate/watcher.py +133 -0
- conciliate-0.2.0/conciliate.egg-info/PKG-INFO +201 -0
- conciliate-0.2.0/conciliate.egg-info/SOURCES.txt +18 -0
- conciliate-0.2.0/conciliate.egg-info/dependency_links.txt +1 -0
- conciliate-0.2.0/conciliate.egg-info/entry_points.txt +2 -0
- conciliate-0.2.0/conciliate.egg-info/requires.txt +18 -0
- conciliate-0.2.0/conciliate.egg-info/top_level.txt +1 -0
- conciliate-0.2.0/pyproject.toml +73 -0
- conciliate-0.2.0/setup.cfg +4 -0
conciliate-0.2.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Conciliate Team
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: conciliate
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: AI context synchronization and propagation between dev environments
|
|
5
|
+
Author: Conciliate Team
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/iv4n-ga6l/conciliate
|
|
8
|
+
Project-URL: Repository, https://github.com/iv4n-ga6l/conciliate
|
|
9
|
+
Keywords: api,openapi,sync,ai,context,fastapi
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Requires-Python: >=3.9
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Requires-Dist: fastapi>=0.104.0
|
|
22
|
+
Requires-Dist: uvicorn[standard]>=0.24.0
|
|
23
|
+
Requires-Dist: watchfiles>=0.21.0
|
|
24
|
+
Requires-Dist: deepdiff>=6.7.0
|
|
25
|
+
Requires-Dist: typer>=0.9.0
|
|
26
|
+
Requires-Dist: pyyaml>=6.0
|
|
27
|
+
Requires-Dist: httpx>=0.25.0
|
|
28
|
+
Requires-Dist: rich>=13.7.0
|
|
29
|
+
Requires-Dist: pydantic>=2.5.0
|
|
30
|
+
Requires-Dist: pydantic-settings>=2.1.0
|
|
31
|
+
Requires-Dist: mcp>=1.0.0
|
|
32
|
+
Provides-Extra: dev
|
|
33
|
+
Requires-Dist: pytest>=7.4.0; extra == "dev"
|
|
34
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
35
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
36
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
37
|
+
Requires-Dist: mypy>=1.7.0; extra == "dev"
|
|
38
|
+
Dynamic: license-file
|
|
39
|
+
|
|
40
|
+
<p align="center">
|
|
41
|
+
<img src="assets/conciliate_brand.png" alt="Conciliate - Unified context for smarter AI decisions" />
|
|
42
|
+
</p>
|
|
43
|
+
|
|
44
|
+
<p align="center">
|
|
45
|
+
<a href="https://github.com/yourusername/conciliate/releases" target="_blank" rel="noopener"><img src="https://img.shields.io/github/release/yourusername/conciliate.svg" alt="Latest releases" /></a>
|
|
46
|
+
<a href="https://github.com/yourusername/conciliate/blob/main/LICENSE" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT License" /></a>
|
|
47
|
+
<a href="https://pypi.org/project/conciliate/" target="_blank" rel="noopener"><img src="https://img.shields.io/pypi/v/conciliate.svg" alt="PyPI version" /></a>
|
|
48
|
+
</p>
|
|
49
|
+
|
|
50
|
+
**Unified context for smarter AI decisions.**
|
|
51
|
+
|
|
52
|
+
Conciliate automatically extracts API specifications from your backend, detects changes, and streams context to AI coding assistants in real-time. Keep your AI in sync across separate IDE sessions—no more manual copy-pasting.
|
|
53
|
+
|
|
54
|
+
## Features
|
|
55
|
+
|
|
56
|
+
- **Auto-extraction**: Monitors backend files, generates OpenAPI specs automatically
|
|
57
|
+
- **Live updates**: Real-time synchronization via MCP protocol
|
|
58
|
+
- **Three access modes**: MCP server, REST API, or CLI
|
|
59
|
+
- **Framework support**: FastAPI (_Flask, Express coming soon_)
|
|
60
|
+
- **AI-native**: Built for Claude Desktop, Cursor, VS Code Copilot
|
|
61
|
+
- **Local-first**: No cloud dependencies, runs entirely on your machine
|
|
62
|
+
|
|
63
|
+
## Quick Start
|
|
64
|
+
|
|
65
|
+
### Install
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
pip install conciliate
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Setup
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
cd /path/to/your/project
|
|
75
|
+
conciliate init
|
|
76
|
+
# Edit .conciliate.yaml to set backend_path
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Run
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
conciliate mcp # For AI assistants (recommended)
|
|
83
|
+
conciliate watch # REST API + file watching
|
|
84
|
+
conciliate serve # REST API only
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## CLI Commands
|
|
88
|
+
|
|
89
|
+
| Command | Description |
|
|
90
|
+
|---------|-------------|
|
|
91
|
+
| `conciliate init` | Create config file |
|
|
92
|
+
| `conciliate watch` | Watch backend + serve REST API |
|
|
93
|
+
| `conciliate mcp` | Run MCP server for AI assistants |
|
|
94
|
+
| `conciliate summary` | Display API summary |
|
|
95
|
+
| `conciliate diff` | Show recent changes |
|
|
96
|
+
| `conciliate status` | Show configuration |
|
|
97
|
+
|
|
98
|
+
## Configuration
|
|
99
|
+
|
|
100
|
+
Create `.conciliate.yaml` in your project root:
|
|
101
|
+
|
|
102
|
+
```yaml
|
|
103
|
+
backend_path: ../backend # Path to your backend
|
|
104
|
+
framework: fastapi # Backend framework (auto-detected if omitted)
|
|
105
|
+
port: 5678 # Server port
|
|
106
|
+
output_dir: .conciliate # Output directory
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Copy from `.conciliate.yaml.template` for all available options.
|
|
110
|
+
|
|
111
|
+
## � MCP Integration (AI Assistants)
|
|
112
|
+
|
|
113
|
+
### Claude Desktop
|
|
114
|
+
|
|
115
|
+
Edit `claude_desktop_config.json`:
|
|
116
|
+
|
|
117
|
+
```json
|
|
118
|
+
{
|
|
119
|
+
"mcpServers": {
|
|
120
|
+
"conciliate": {
|
|
121
|
+
"command": "conciliate",
|
|
122
|
+
"args": ["mcp"],
|
|
123
|
+
"cwd": "C:\\path\\to\\your\\project"
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### VS Code
|
|
130
|
+
|
|
131
|
+
Create `.vscode/mcp.json`:
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"servers": {
|
|
136
|
+
"conciliate": {
|
|
137
|
+
"command": "conciliate",
|
|
138
|
+
"args": ["mcp"],
|
|
139
|
+
"cwd": "${workspaceFolder}"
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Then**: Restart your AI assistant → Ask: "What API endpoints are available?"
|
|
146
|
+
|
|
147
|
+
### Features
|
|
148
|
+
|
|
149
|
+
- 📚 **Resources**: Full spec, summaries, diffs
|
|
150
|
+
- 🛠️ **Tools**: Reload, search, get endpoint details
|
|
151
|
+
- ⚡ **Live Updates**: Auto-detects backend changes, no manual reload
|
|
152
|
+
- 🎯 **Cross-session**: Keep frontend/backend AI assistants synchronized
|
|
153
|
+
|
|
154
|
+
**Full guide**: [docs/MCP_INTEGRATION.md](docs/MCP_INTEGRATION.md)
|
|
155
|
+
|
|
156
|
+
## � REST API
|
|
157
|
+
|
|
158
|
+
When running `conciliate watch` or `conciliate serve`:
|
|
159
|
+
|
|
160
|
+
| Endpoint | Description |
|
|
161
|
+
|----------|-------------|
|
|
162
|
+
| `GET /spec` | Full OpenAPI specification |
|
|
163
|
+
| `GET /summary` | Human-readable summary |
|
|
164
|
+
| `GET /diff` | Latest changes |
|
|
165
|
+
| `POST /reload` | Trigger spec regeneration |
|
|
166
|
+
|
|
167
|
+
## 🧪 Example
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Start example backend
|
|
171
|
+
cd example/backend && python main.py
|
|
172
|
+
|
|
173
|
+
# In another terminal
|
|
174
|
+
cd ../.. && conciliate init
|
|
175
|
+
# Edit .conciliate.yaml: backend_path: ./example/backend
|
|
176
|
+
|
|
177
|
+
conciliate watch
|
|
178
|
+
# Visit http://localhost:5678/summary
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## 🔮 Roadmap
|
|
182
|
+
|
|
183
|
+
- **v0.1.0** ✅ Core engine (watcher, spec gen, diff, REST API)
|
|
184
|
+
- **v0.2.0** ✅ MCP integration with live updates
|
|
185
|
+
- **v0.3.0** - VS Code extension (status bar, API explorer, inline docs)
|
|
186
|
+
- **v0.4.0** - Multi-backend support (microservices, aggregated specs)
|
|
187
|
+
- **v0.5.0** - Flask/Express framework support
|
|
188
|
+
|
|
189
|
+
## Troubleshooting
|
|
190
|
+
|
|
191
|
+
| Issue | Solution |
|
|
192
|
+
|-------|----------|
|
|
193
|
+
| "Failed to generate spec" | Check `backend_path` in config, verify FastAPI app exists |
|
|
194
|
+
| "No .conciliate.yaml found" | Run `conciliate init` in your project directory |
|
|
195
|
+
| MCP not connecting | Restart AI assistant, verify `cwd` path in config |
|
|
196
|
+
|
|
197
|
+
See full troubleshooting guide in [docs/](docs/).
|
|
198
|
+
|
|
199
|
+
## License
|
|
200
|
+
|
|
201
|
+
MIT License - see [LICENSE](LICENSE) for details.
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/conciliate_brand.png" alt="Conciliate - Unified context for smarter AI decisions" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://github.com/yourusername/conciliate/releases" target="_blank" rel="noopener"><img src="https://img.shields.io/github/release/yourusername/conciliate.svg" alt="Latest releases" /></a>
|
|
7
|
+
<a href="https://github.com/yourusername/conciliate/blob/main/LICENSE" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT License" /></a>
|
|
8
|
+
<a href="https://pypi.org/project/conciliate/" target="_blank" rel="noopener"><img src="https://img.shields.io/pypi/v/conciliate.svg" alt="PyPI version" /></a>
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
**Unified context for smarter AI decisions.**
|
|
12
|
+
|
|
13
|
+
Conciliate automatically extracts API specifications from your backend, detects changes, and streams context to AI coding assistants in real-time. Keep your AI in sync across separate IDE sessions—no more manual copy-pasting.
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
- **Auto-extraction**: Monitors backend files, generates OpenAPI specs automatically
|
|
18
|
+
- **Live updates**: Real-time synchronization via MCP protocol
|
|
19
|
+
- **Three access modes**: MCP server, REST API, or CLI
|
|
20
|
+
- **Framework support**: FastAPI (_Flask, Express coming soon_)
|
|
21
|
+
- **AI-native**: Built for Claude Desktop, Cursor, VS Code Copilot
|
|
22
|
+
- **Local-first**: No cloud dependencies, runs entirely on your machine
|
|
23
|
+
|
|
24
|
+
## Quick Start
|
|
25
|
+
|
|
26
|
+
### Install
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pip install conciliate
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Setup
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
cd /path/to/your/project
|
|
36
|
+
conciliate init
|
|
37
|
+
# Edit .conciliate.yaml to set backend_path
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Run
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
conciliate mcp # For AI assistants (recommended)
|
|
44
|
+
conciliate watch # REST API + file watching
|
|
45
|
+
conciliate serve # REST API only
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## CLI Commands
|
|
49
|
+
|
|
50
|
+
| Command | Description |
|
|
51
|
+
|---------|-------------|
|
|
52
|
+
| `conciliate init` | Create config file |
|
|
53
|
+
| `conciliate watch` | Watch backend + serve REST API |
|
|
54
|
+
| `conciliate mcp` | Run MCP server for AI assistants |
|
|
55
|
+
| `conciliate summary` | Display API summary |
|
|
56
|
+
| `conciliate diff` | Show recent changes |
|
|
57
|
+
| `conciliate status` | Show configuration |
|
|
58
|
+
|
|
59
|
+
## Configuration
|
|
60
|
+
|
|
61
|
+
Create `.conciliate.yaml` in your project root:
|
|
62
|
+
|
|
63
|
+
```yaml
|
|
64
|
+
backend_path: ../backend # Path to your backend
|
|
65
|
+
framework: fastapi # Backend framework (auto-detected if omitted)
|
|
66
|
+
port: 5678 # Server port
|
|
67
|
+
output_dir: .conciliate # Output directory
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Copy from `.conciliate.yaml.template` for all available options.
|
|
71
|
+
|
|
72
|
+
## � MCP Integration (AI Assistants)
|
|
73
|
+
|
|
74
|
+
### Claude Desktop
|
|
75
|
+
|
|
76
|
+
Edit `claude_desktop_config.json`:
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"mcpServers": {
|
|
81
|
+
"conciliate": {
|
|
82
|
+
"command": "conciliate",
|
|
83
|
+
"args": ["mcp"],
|
|
84
|
+
"cwd": "C:\\path\\to\\your\\project"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### VS Code
|
|
91
|
+
|
|
92
|
+
Create `.vscode/mcp.json`:
|
|
93
|
+
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
"servers": {
|
|
97
|
+
"conciliate": {
|
|
98
|
+
"command": "conciliate",
|
|
99
|
+
"args": ["mcp"],
|
|
100
|
+
"cwd": "${workspaceFolder}"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Then**: Restart your AI assistant → Ask: "What API endpoints are available?"
|
|
107
|
+
|
|
108
|
+
### Features
|
|
109
|
+
|
|
110
|
+
- 📚 **Resources**: Full spec, summaries, diffs
|
|
111
|
+
- 🛠️ **Tools**: Reload, search, get endpoint details
|
|
112
|
+
- ⚡ **Live Updates**: Auto-detects backend changes, no manual reload
|
|
113
|
+
- 🎯 **Cross-session**: Keep frontend/backend AI assistants synchronized
|
|
114
|
+
|
|
115
|
+
**Full guide**: [docs/MCP_INTEGRATION.md](docs/MCP_INTEGRATION.md)
|
|
116
|
+
|
|
117
|
+
## � REST API
|
|
118
|
+
|
|
119
|
+
When running `conciliate watch` or `conciliate serve`:
|
|
120
|
+
|
|
121
|
+
| Endpoint | Description |
|
|
122
|
+
|----------|-------------|
|
|
123
|
+
| `GET /spec` | Full OpenAPI specification |
|
|
124
|
+
| `GET /summary` | Human-readable summary |
|
|
125
|
+
| `GET /diff` | Latest changes |
|
|
126
|
+
| `POST /reload` | Trigger spec regeneration |
|
|
127
|
+
|
|
128
|
+
## 🧪 Example
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# Start example backend
|
|
132
|
+
cd example/backend && python main.py
|
|
133
|
+
|
|
134
|
+
# In another terminal
|
|
135
|
+
cd ../.. && conciliate init
|
|
136
|
+
# Edit .conciliate.yaml: backend_path: ./example/backend
|
|
137
|
+
|
|
138
|
+
conciliate watch
|
|
139
|
+
# Visit http://localhost:5678/summary
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## 🔮 Roadmap
|
|
143
|
+
|
|
144
|
+
- **v0.1.0** ✅ Core engine (watcher, spec gen, diff, REST API)
|
|
145
|
+
- **v0.2.0** ✅ MCP integration with live updates
|
|
146
|
+
- **v0.3.0** - VS Code extension (status bar, API explorer, inline docs)
|
|
147
|
+
- **v0.4.0** - Multi-backend support (microservices, aggregated specs)
|
|
148
|
+
- **v0.5.0** - Flask/Express framework support
|
|
149
|
+
|
|
150
|
+
## Troubleshooting
|
|
151
|
+
|
|
152
|
+
| Issue | Solution |
|
|
153
|
+
|-------|----------|
|
|
154
|
+
| "Failed to generate spec" | Check `backend_path` in config, verify FastAPI app exists |
|
|
155
|
+
| "No .conciliate.yaml found" | Run `conciliate init` in your project directory |
|
|
156
|
+
| MCP not connecting | Restart AI assistant, verify `cwd` path in config |
|
|
157
|
+
|
|
158
|
+
See full troubleshooting guide in [docs/](docs/).
|
|
159
|
+
|
|
160
|
+
## License
|
|
161
|
+
|
|
162
|
+
MIT License - see [LICENSE](LICENSE) for details.
|