Skip to content

Commit d0b8fcc

Browse files
apartsinclaude
andcommitted
docs: reorganize navigation, remove Key Features duplication
- Remove redundant Key Features section from README (duplicated by Why ModelMesh table) - Replace Key Features in docs/index.md with Why ModelMesh value proposition table - Reorganize docs/index.md navigation into grouped sections: Getting Started, Core Concepts, Developer Guides, Deployment, API Reference, Runtime Services, Extending ModelMesh (CDK), Samples - Surface 33 previously hidden docs (interfaces/ and system/ directories) - Fix stale test badge count (1,873 → 1,879) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent edb1338 commit d0b8fcc

2 files changed

Lines changed: 57 additions & 39 deletions

File tree

README.md

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -178,19 +178,6 @@ Ten reasons to add ModelMesh to your next project.
178178
| **9** | **Production-grade observability without extra plumbing** | **[Observability Connectors](docs/guides/FAQ.md#9-what-observability-does-modelmesh-provide)** | Pre-built sinks for console, file, JSON-log, Prometheus, and webhooks. Structured traces across routing, failover, and budget events. Plug in custom callbacks for existing dashboards |
179179
| **10** | **When pre-built doesn't fit, extend without forking** | **[CDK](docs/guides/FAQ.md#10-what-if-the-pre-built-connectors-dont-cover-my-use-case)** | Base classes for providers, rotation policies, secret stores, storage backends, and observability sinks. Inherit, override what you need, ship as a reusable package |
180180

181-
## Key Features
182-
183-
| Feature | Description |
184-
|---|---|
185-
| **OpenAI-compatible** | Drop-in replacement for any OpenAI SDK client |
186-
| **Multi-provider routing** | OpenAI, Anthropic, Gemini, Groq, and more |
187-
| **Automatic failover** | Retry with backoff, then rotate to next model |
188-
| **Free-tier aggregation** | Chain quotas across providers |
189-
| **Capability-based pools** | Request tasks, not specific providers |
190-
| **8 rotation strategies** | Stick-until-failure, cost-first, latency-first, round-robin, and more |
191-
| **Pluggable connectors** | Extend any integration point with the CDK |
192-
| **Zero dependencies** | Core library has no external dependencies |
193-
194181
## Documentation
195182

196183
| Document | Description |

docs/index.md

Lines changed: 57 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ title: ModelMesh Lite
1717
<img src="https://img.shields.io/badge/typescript-5.0%2B-blue" alt="TypeScript 5.0+">
1818
<img src="https://img.shields.io/badge/docker-supported-2496ED" alt="Docker">
1919
<a href="https://github.com/ApartsinProjects/ModelMesh/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License"></a>
20-
<a href="https://github.com/ApartsinProjects/ModelMesh/actions"><img src="https://img.shields.io/badge/tests-1%2C873%20passed-brightgreen" alt="Tests"></a>
20+
<a href="https://github.com/ApartsinProjects/ModelMesh/actions"><img src="https://img.shields.io/badge/tests-1%2C879%20passed-brightgreen" alt="Tests"></a>
2121
<a href="https://apartsinprojects.github.io/ModelMesh/"><img src="https://img.shields.io/badge/docs-GitHub%20Pages-blue" alt="Documentation"></a>
2222
</p>
2323

@@ -166,52 +166,83 @@ pools:
166166
client = modelmesh.create(config="modelmesh.yaml")
167167
```
168168

169-
## Key Features
169+
## Why ModelMesh
170170

171-
| Feature | Description |
172-
|---|---|
173-
| **OpenAI-compatible** | Drop-in replacement for any OpenAI SDK client |
174-
| **Multi-provider routing** | OpenAI, Anthropic, Gemini, Groq, and more |
175-
| **Automatic failover** | Retry with backoff, then rotate to next model |
176-
| **Free-tier aggregation** | Chain quotas across providers |
177-
| **Capability-based pools** | Request tasks, not specific providers |
178-
| **8 rotation strategies** | Stick-until-failure, cost-first, latency-first, round-robin, and more |
179-
| **Structured error handling** | Typed exceptions with retry hints and structured metadata |
180-
| **Request/response middleware** | Intercept calls for logging, transforms, caching, error fallbacks |
181-
| **Built-in test mocking** | `mock_client()` / `mockClient()` for unit testing without APIs |
182-
| **Usage & budget tracking** | Real-time cost, token, and budget monitoring via `client.usage` |
183-
| **Capability discovery** | Search, resolve, and explore capabilities without memorizing paths |
184-
| **Routing explanation** | Debug routing decisions with `client.explain()` dry-run API |
185-
| **Pluggable connectors** | Extend any integration point with the CDK |
186-
| **Zero dependencies** | Core library has no external dependencies |
171+
Ten reasons to add ModelMesh to your next project.
172+
173+
| # | Value | Feature | How It Delivers |
174+
|---|---|---|---|
175+
| **1** | **Integrate in two minutes, scale the configuration as you grow** | **[Progressive Configuration](guides/FAQ.html#1-how-quickly-can-i-integrate-modelmesh-into-my-project)** | **Env vars** for instant start. **YAML** for providers, pools, strategies, budgets, secrets. **Programmatic** for dynamic setups. All three compose seamlessly |
176+
| **2** | **One familiar API across every provider you will ever use** | **[Uniform OpenAI-Compatible API](guides/FAQ.html#2-do-i-need-to-learn-a-new-api)** | Same `client.chat.completions.create()` for OpenAI, Anthropic, Gemini, DeepSeek, Mistral, Ollama, or custom models. Chat, embeddings, TTS, STT, image generation. Swap providers in config, never in code |
177+
| **3** | **Chain free tiers so you never hit a quota wall** | **[Free-Tier Aggregation](guides/FAQ.html#3-how-does-free-tier-aggregation-work)** | Set free API keys, call `create("chat")`. The library detects providers, pools them by capability, and rotates silently when a quota exhausts. Your code sees one provider; ModelMesh manages the rotation |
178+
| **4** | **Provider goes down, your app stays up** | **[Resilient Routing](guides/FAQ.html#4-what-happens-when-a-provider-goes-down)** | Multiple rotation strategies: cost-first, latency-first, round-robin, sticky, rate-limit-aware. On failure the router deactivates the model, selects the next candidate, and retries within the same request |
179+
| **5** | **Request capabilities, not model names** | **[Capability Discovery](guides/FAQ.html#5-what-does-request-capabilities-not-model-names-mean)** | Ask for `"chat-completion"`, not `"gpt-4o"`. ModelMesh resolves to the best available model. New models appear, old ones deprecate, your code stays the same |
180+
| **6** | **Spending caps enforced before the overage, not after** | **[Budget Enforcement](guides/FAQ.html#6-how-do-i-prevent-surprise-ai-bills)** | Real-time cost tracking per model and provider. Set daily or monthly limits in config. `BudgetExceededError` fires before the breaching request |
181+
| **7** | **One library for Python backend, TypeScript frontend, Docker proxy** | **[Full-Stack Deployment](guides/FAQ.html#7-can-i-use-modelmesh-with-my-existing-stack)** | `pip install`, `npm install`, or `docker run`. Each exposes the same API with zero core dependencies. One config file drives all deployment modes |
182+
| **8** | **Test AI code like regular code** | **[Mock Client and Testing](guides/FAQ.html#8-how-do-i-test-ai-code-without-burning-api-credits)** | `mock_client(responses=[...])` returns an identical API with zero network calls and millisecond execution. Typed exceptions carry structured metadata. `client.explain()` dry-runs routing decisions |
183+
| **9** | **Production-grade observability without extra plumbing** | **[Observability Connectors](guides/FAQ.html#9-what-observability-does-modelmesh-provide)** | Pre-built sinks for console, file, JSON-log, Prometheus, and webhooks. Structured traces across routing, failover, and budget events. Plug in custom callbacks for existing dashboards |
184+
| **10** | **When pre-built doesn't fit, extend without forking** | **[CDK](guides/FAQ.html#10-what-if-the-pre-built-connectors-dont-cover-my-use-case)** | Base classes for providers, rotation policies, secret stores, storage backends, and observability sinks. Inherit, override what you need, ship as a reusable package |
187185

188186
## Documentation
189187

188+
### Getting Started
189+
190+
| Document | Description |
191+
|---|---|
192+
| **[FAQ](guides/FAQ.html)** | Ten questions developers ask before adopting, each with a working code tutorial |
193+
| **[Developer Quick Start](guides/QuickStart.html)** | Get productive in 5 minutes: all features walkthrough with cheat sheet |
194+
195+
### Core Concepts
196+
190197
| Document | Description |
191198
|---|---|
192199
| **[System Concept](SystemConcept.html)** | Architecture, design, and full feature overview |
193200
| **[Model Capabilities](ModelCapabilities.html)** | Capability hierarchy tree and predefined pools |
194201
| **[System Configuration](SystemConfiguration.html)** | Full YAML configuration reference |
195202
| **[Connector Catalogue](ConnectorCatalogue.html)** | All pre-shipped connectors with config schemas |
196-
| **[Connector Interfaces](ConnectorInterfaces.html)** | Interface definitions for all connector types |
197-
| **[System Services](SystemServices.html)** | Runtime objects: Router, Pool, Model, State |
198203

199-
### Guides
204+
### Developer Guides
200205

201206
| Document | Description |
202207
|---|---|
203-
| **[FAQ](guides/FAQ.html)** | Ten questions developers ask before adopting, each with a working code tutorial |
204-
| **[Developer Quick Start](guides/QuickStart.html)** | Get productive in 5 minutes: all features walkthrough with cheat sheet |
205208
| **[Error Handling](guides/ErrorHandling.html)** | Exception hierarchy, catch patterns, retry guidance |
206209
| **[Middleware](guides/Middleware.html)** | Write custom middleware: logging, transforms, caching, error fallbacks |
207210
| **[Testing](guides/Testing.html)** | Unit testing with `mock_client()` — no API keys needed |
208211
| **[Capabilities](guides/Capabilities.html)** | Discover, resolve, and search capability aliases |
212+
| **[Audio (TTS/STT)](ConnectorInterfaces.html#audio)** | AudioRequest/AudioResponse types, `client.audio` namespace |
213+
214+
### Deployment
215+
216+
| Document | Description |
217+
|---|---|
209218
| **[Proxy Guide](guides/ProxyGuide.html)** | Deploy as OpenAI-compatible proxy: Docker, CLI, config, browser access |
210-
| **[AI Agent Integration](ForAIAgent.html)** | Guide for AI coding agents (Claude Code, Cursor, etc.) to integrate ModelMesh |
211219
| **[Browser Usage](guides/BrowserUsage.html)** | BrowserBaseProvider, CORS proxy setup, and browser-specific patterns |
212-
| **[Audio (TTS/STT)](ConnectorInterfaces.html#audio)** | AudioRequest/AudioResponse types, `client.audio` namespace |
220+
| **[AI Agent Integration](ForAIAgent.html)** | Guide for AI coding agents (Claude Code, Cursor, etc.) to integrate ModelMesh |
221+
222+
### API Reference
213223

214-
### CDK (Connector Development Kit)
224+
| Document | Description |
225+
|---|---|
226+
| **[Connector Interfaces](ConnectorInterfaces.html)** | Interface definitions for all connector types |
227+
| **[Provider](interfaces/Provider.html)** | Provider connector interface spec |
228+
| **[Rotation Policy](interfaces/RotationPolicy.html)** | Rotation policy interface spec |
229+
| **[Secret Store](interfaces/SecretStore.html)** | Secret store interface spec |
230+
| **[Storage](interfaces/Storage.html)** | Storage backend interface spec |
231+
| **[Observability](interfaces/Observability.html)** | Observability connector interface spec |
232+
| **[Discovery](interfaces/Discovery.html)** | Discovery connector interface spec |
233+
234+
### Runtime Services
235+
236+
| Document | Description |
237+
|---|---|
238+
| **[Overview](system/Overview.html)** | Runtime architecture and object graph |
239+
| **[System Services](SystemServices.html)** | Router, Pool, Model, and State runtime objects |
240+
| **[Router](system/Router.html)** | Request routing and retry logic |
241+
| **[Capability Pool](system/CapabilityPool.html)** | Pool lifecycle and model selection |
242+
| **[State Manager](system/StateManager.html)** | State persistence and recovery |
243+
| **[Event Emitter](system/EventEmitter.html)** | Event system for routing, failover, and budget events |
244+
245+
### Extending ModelMesh (CDK)
215246

216247
| Document | Description |
217248
|---|---|

0 commit comments

Comments
 (0)