Skip to content

Commit d5dece7

Browse files
committed
docs: discoverability, badges, bilingual security policy and metadata parity (261 test assertions)
1 parent e45d04d commit d5dece7

6 files changed

Lines changed: 327 additions & 112 deletions

File tree

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [1.3.23] - 2026-08-21
6+
7+
### Discoverability & Documentation Architecture
8+
- Added second bilingual Mermaid sequence diagram (`Code Intelligence & Safe Structural Edit Lifecycle` / `Code-Intelligenz- und sicherer struktureller Edit-Lebenszyklus`) demonstrating client stdio JSON-RPC request flow, AST parsing, syntax validation, preview mode, and `.bak` backup creation.
9+
- Expanded Sibling Developer, File & Document Tools matrix across English and German READMEs (`README.md`, `README_de.md`) covering `DevCenter`, `CodeBox`, `MethodenAnalyser`, `PDFtoPDFocr`, `DokuReader`, `ProFiler`, `sqlite-transit-sync`, and `policy-registry`.
10+
- Synchronized Shields.io test badge to `183 passed` Vitest tests and total 261 verified test assertions (183 Vitest unit tests, 35 MCP stdio integration tests, 43 i18n translation assertions). Added Platform, Privacy, and Security badges.
11+
- Updated `llms.txt` discovery index with `Last-checked: 2026-08-21`, 261 verified test assertions, security invariants (Zero-Egress, Subprocess Isolation, Preview-Safe), and expanded sibling ecosystem references.
12+
13+
### Security Policy Härtung (SECURITY.md)
14+
- Complete overhaul of `SECURITY.md` into a hardened bilingual (English / Deutsch) security policy document.
15+
- Formalized five core security invariants: Local-First Stdio Transport & Zero-Egress, Preview-First Structural Mutations (`mode: "preview"`, `.bak` backups), Non-Elevation User-Mode Execution, Input Boundary & Sanitization, and Subprocess Isolation for runtime import diagnostics (`cc_runtime_import_diagnose`).
16+
- Declared dedicated direct security contact channels (`security@ellmos.ai` and `support@lukasgeiger.com`) with 48h triage SLA alongside GitHub Security Advisories.
17+
18+
### Automated Metadata & Contract Test Suite
19+
- Expanded `test/metadata.test.ts` to 12 contract tests (12/12 passed) validating CI matrix (`[20, 22, 24]`), bilingual security policy, authorized contact addresses, Mermaid diagrams in both READMEs, sibling tool references, and badge assertion parity across a full 183-test Vitest suite.
20+
521
## [1.3.23] - 2026-08-16
622

723
### Security

README.md

Lines changed: 56 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
<p align="center">
32
<img src="https://raw.githubusercontent.com/ellmos-ai/.github/master/profile/logo-ellmos-codecommander.jpg" alt="ellmos CodeCommander MCP emblem" width="400">
43
</p>
@@ -11,8 +10,11 @@
1110
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
1211
[![npm version](https://img.shields.io/npm/v/ellmos-codecommander-mcp.svg)](https://www.npmjs.com/package/ellmos-codecommander-mcp)
1312
[![CodeCommander tests](https://github.com/ellmos-ai/ellmos-codecommander-mcp/actions/workflows/tests.yml/badge.svg)](https://github.com/ellmos-ai/ellmos-codecommander-mcp/actions/workflows/tests.yml)
14-
[![Vitest](https://img.shields.io/badge/Vitest-176%20passed-brightgreen.svg)](https://vitest.dev/)
13+
[![Vitest](https://img.shields.io/badge/Vitest-183%20passed-brightgreen.svg)](https://vitest.dev/)
1514
[![Node.js](https://img.shields.io/badge/node-%3E%3D20-brightgreen.svg)](https://nodejs.org/)
15+
[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://nodejs.org/)
16+
[![Privacy](https://img.shields.io/badge/Privacy-100%25%20Offline%20%7C%20Zero--Egress-success.svg)](SECURITY.md)
17+
[![Security](https://img.shields.io/badge/Security-Local--First%20%7C%20Preview--Safe-blue.svg)](SECURITY.md)
1618
[![Ecosystem](https://img.shields.io/badge/ellmos--ai-Ecosystem-blue.svg)](https://github.com/ellmos-ai)
1719
[![Umbrella](https://img.shields.io/badge/open--bricks-Umbrella-purple.svg)](https://github.com/open-bricks)
1820
[![LLM Indexing](https://img.shields.io/badge/LLM--Ready-llms.txt-blue.svg)](llms.txt)
@@ -82,6 +84,36 @@ graph TD
8284
Server --> Export
8385
```
8486

87+
### Code Intelligence & Safe Structural Edit Lifecycle
88+
89+
```mermaid
90+
sequenceDiagram
91+
autonumber
92+
actor Developer as Developer / LLM Client
93+
participant Stdio as CodeCommander Server (stdio)
94+
participant Core as AST & Code Intelligence Core
95+
participant Disk as Local Filesystem
96+
97+
Developer->>Stdio: cc_python_structural_edit (mode: "preview" / "apply")
98+
Stdio->>Core: Parse Python AST & Validate Syntax
99+
alt Validation Failed
100+
Core-->>Stdio: Syntax / Parsing Diagnostics
101+
Stdio-->>Developer: Error Diagnostics & Line References
102+
else Validation Passed
103+
Core->>Disk: Read Original File
104+
Core->>Core: Compute Unified Structural Diff
105+
alt Mode == "preview"
106+
Core-->>Stdio: Return Diff Preview (Zero File Mutations)
107+
Stdio-->>Developer: Structural Diff Preview
108+
else Mode == "apply"
109+
Core->>Disk: Create .bak Backup File
110+
Core->>Disk: Write Modified AST Code In-Place
111+
Core-->>Stdio: Confirmation with Applied Diff & Backup Path
112+
Stdio-->>Developer: Success Payload
113+
end
114+
end
115+
```
116+
85117
---
86118

87119
## Why CodeCommander?
@@ -279,8 +311,8 @@ See [SECURITY.md](SECURITY.md) for detailed security information.
279311
Key points:
280312
- File-modifying tools support preview/dry-run modes where applicable
281313
- Backup creation is enabled by default for destructive operations
282-
- No built-in sandboxing - security is delegated to the MCP client
283-
- Designed for local development use via stdio transport
314+
- Pure stdio JSON-RPC transport with Zero-Egress guarantees
315+
- Designed for local development use with standard unprivileged user permissions
284316

285317
---
286318

@@ -298,18 +330,18 @@ npm run test:i18n # 43 translation assertions
298330

299331
### Testing
300332

301-
The supported gates are deliberately separated: `npm test` runs the 176-test Vitest suite, `npm run test:integration` runs 35 real MCP stdio assertions against `dist/index.js`, and `npm run test:i18n` runs 43 translation assertions (254 automated test assertions total).
333+
The supported gates are deliberately separated: `npm test` runs the 183-test Vitest suite, `npm run test:integration` runs 35 real MCP stdio assertions against `dist/index.js`, and `npm run test:i18n` runs 43 translation assertions (261 automated test assertions total).
302334

303335
```bash
304-
npm test # Run Vitest unit tests (176 tests)
336+
npm test # Run Vitest unit tests (183 tests)
305337
npm run test:integration # Real MCP stdio test (35 assertions, build first)
306338
npm run test:i18n # i18n assertions (43 assertions)
307339
npm run test:all # Run full test suite (build + vitest + integration + i18n)
308340
```
309341

310342
Tests are verified on **Windows**, **macOS**, and **Linux**.
311343

312-
GitHub Actions runs the build, all three test gates (176 Vitest, 35 MCP stdio, 43 i18n assertions — 254 assertions total), and npm package check on Node.js 20, 22, and 24.
344+
GitHub Actions runs the build, all three test gates (183 Vitest, 35 MCP stdio, 43 i18n assertions — 261 assertions total), and npm package check on Node.js 20, 22, and 24.
313345

314346
---
315347

@@ -356,6 +388,23 @@ This MCP server is part of the **[ellmos-ai](https://github.com/ellmos-ai)** eco
356388
| [Blender Use](https://github.com/ellmos-ai/ellmos-blender-use-mcp) | 3 | Headless Blender asset QA and FBX reimport verification | [`ellmos-blender-use-mcp`](https://www.npmjs.com/package/ellmos-blender-use-mcp) (alpha) |
357389
| [Open Compute](https://github.com/ellmos-ai/open-compute-mcp) | 10 | Model-agnostic computer use: capture, safety-gated actions, Windows UIA | [`open-compute-mcp`](https://www.npmjs.com/package/open-compute-mcp) (alpha) |
358390

391+
### Sibling Developer, File & Document Tools
392+
393+
| Ecosystem | Tool / Project | Focus & Capabilities |
394+
|---|---|---|
395+
| **ellmos-ai** | [sqlite-transit-sync](https://github.com/ellmos-ai/sqlite-transit-sync) | Offline SQLite change distribution with HMAC verification |
396+
| **ellmos-ai** | [policy-registry](https://github.com/ellmos-ai/policy-registry) | Cryptographically signed delegation policies for AI agents |
397+
| **ellmos-ai** | [clutch](https://github.com/ellmos-ai/clutch) | Provider-neutral LLM orchestration with auto-routing and budget tracking |
398+
| **ellmos-ai** | [BACH](https://github.com/ellmos-ai/bach) | Local-first text-based OS for LLM agents — 113+ handlers, 550+ tools |
399+
| **dev-bricks** | [DevCenter](https://github.com/dev-bricks/DevCenter) | PySide6 Developer Desktop Suite & offline secret vault |
400+
| **dev-bricks** | [CodeBox](https://github.com/dev-bricks/CodeBox) | Fast desktop code snippet manager & local AST indexing |
401+
| **dev-bricks** | [automation-master](https://github.com/dev-bricks/automation-master) | Event-sourced automation orchestration & 30-day receipts |
402+
| **dev-bricks** | [MethodenAnalyser](https://github.com/dev-bricks/MethodenAnalyser) | Method flow & complexity diagnostic engine |
403+
| **doc-bricks** | [PDFtoPDFocr](https://github.com/doc-bricks/PDFtoPDFocr) | Desktop OCR pipeline for searchable PDFs with Tesseract |
404+
| **doc-bricks** | [DokuReader](https://github.com/doc-bricks/DokuReader) | Multi-format document workspace & offline PDF export |
405+
| **file-bricks** | [ProFiler](https://github.com/file-bricks/ProFiler) | Multi-pane file management & bulk batch operations |
406+
| **open-bricks** | [open-bricks](https://github.com/open-bricks) | Umbrella organization for AI-native desktop applications |
407+
359408
### AI Infrastructure
360409

361410
| Project | Description |

0 commit comments

Comments
 (0)