From 659a4b391a55363e9f1275d229fdd13e203853d7 Mon Sep 17 00:00:00 2001 From: Gaspard Kirira Date: Thu, 16 Jul 2026 11:12:30 +0300 Subject: [PATCH 01/10] chore(release): prepare v2.7.7 --- CHANGELOG.md | 14 ++++++++++++++ modules/cli | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 715609e..caba2b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## v2.7.7 + +### Fixed + +- Fixed global package installs for header-only packages that build a CLI executable but do not provide CMake runtime install rules. + - `vix install -g` now detects the built command and stages it into the Vix global `bin` directory. + - Commands such as `cli_test` are available immediately from `~/.vix/global/bin` after install when that directory is already on `PATH`. + - Packages that already provide proper `install(TARGETS ... RUNTIME DESTINATION bin)` rules keep using the CMake install output as the source of truth. + +### Validation + +- Verified `vix install -g gaspardkirira/cli_test`, `command -v cli_test`, and `cli_test chain 5`. +- Added and ran a global install regression fixture for a package that builds an executable but only installs headers through CMake. + ## v2.7.6 ### Added diff --git a/modules/cli b/modules/cli index 0454608..c57b19c 160000 --- a/modules/cli +++ b/modules/cli @@ -1 +1 @@ -Subproject commit 0454608e750f23635e3cd2259f708da89e47fe5a +Subproject commit c57b19c0338e8ebca9d160180bcf1c61524a6883 From e9ea4f91c20c660b58ab78f25fceedf97d3ba59e Mon Sep 17 00:00:00 2001 From: Gaspard Kirira Date: Sat, 18 Jul 2026 13:14:31 +0300 Subject: [PATCH 02/10] feat: publish modules and add Vix Note extensions --- CHANGELOG.md | 44 ++++++++++++++++++++++++++++++++++++++++++-- modules/async | 2 +- modules/cli | 2 +- modules/env | 2 +- modules/error | 2 +- modules/fs | 2 +- modules/io | 2 +- modules/log | 2 +- modules/note | 2 +- modules/os | 2 +- modules/path | 2 +- modules/process | 2 +- modules/reply | 2 +- modules/tests | 2 +- modules/utils | 2 +- 15 files changed, 56 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index caba2b7..da434b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,18 +7,58 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## v2.7.7 +### Added + +- Added the first package-based extension system for Vix Note. + - Vix Note extensions are distributed as standard Vix registry packages. + - Added support for the `extensions.note` manifest field with API versioning, capabilities, custom cell types, runtime configuration, aliases, and permissions. + - Added discovery of built-in, project-local, and globally installed extensions. + - Project extensions take priority over global extensions, while built-in cell types remain protected. + - Added support for preserving custom cell types such as `python` when loading, saving, and exporting `.vixnote` documents. + - Added a generic external process runner using the `vix-note-extension-1` JSON protocol. + - Added the `GET /api/extensions` endpoint and dynamic frontend discovery of available cell types. + - Existing Markdown, HTML, C++, and Reply cells continue to work through the new extension registry. + +- Extended registry and package commands for extension-aware packages. + - `vix publish` now validates and preserves `extensions.note` metadata in registry entries and individual package versions. + - `vix search` now supports `--extension`, `--capability`, `--type`, and `--json`. + - Searches can now be performed using filters without requiring a text query. + - `vix install -g` now preserves extension metadata in the global installation registry. + - Added `vix note --list-extensions` for inspecting discovered Note extensions. + +- Added package manifests for additional Vix modules and published them to the Vix Registry. + - Added `vix.json` manifests for the Async, Env, Error, FS, IO, Log, Note, OS, Path, Process, Reply, Tests, and Utils modules. + - Updated the root repository to reference the new module revisions containing their registry metadata. + - These modules can now be discovered, versioned, and installed through the standard Vix package workflow. + ### Fixed - Fixed global package installs for header-only packages that build a CLI executable but do not provide CMake runtime install rules. - `vix install -g` now detects the built command and stages it into the Vix global `bin` directory. - - Commands such as `cli_test` are available immediately from `~/.vix/global/bin` after install when that directory is already on `PATH`. - - Packages that already provide proper `install(TARGETS ... RUNTIME DESTINATION bin)` rules keep using the CMake install output as the source of truth. + - Commands such as `cli_test` are available immediately from `~/.vix/global/bin` after installation when that directory is already on `PATH`. + - Packages that already provide proper `install(TARGETS ... RUNTIME DESTINATION bin)` rules continue to use the CMake installation output as the source of truth. ### Validation +- Built the Vix Note module and the Vix CLI successfully. +- Verified `vix note --list-extensions` with the four built-in extensions. +- Verified custom cell type round-tripping with a Python cell. +- Verified the `/api/extensions` endpoint. +- Verified execution through a temporary external Note extension runtime. +- Verified extension-aware searches with: + - `vix search --extension note --json` + - `vix search json --json` + - Verified `vix install -g gaspardkirira/cli_test`, `command -v cli_test`, and `cli_test chain 5`. - Added and ran a global install regression fixture for a package that builds an executable but only installs headers through CMake. +### Known limitations + +- External Note extension runtimes currently use one-shot processes. +- External process execution is currently implemented for POSIX platforms; Windows reports an explicit unsupported-runtime error. +- Persistent kernels, interactive permissions, extension-provided JavaScript, native C ABI loading, and automatic local runtime builds are not yet included. +- Permanent exhaustive CTest coverage for the extension system remains to be added. + ## v2.7.6 ### Added diff --git a/modules/async b/modules/async index d37aedb..e2d6ba6 160000 --- a/modules/async +++ b/modules/async @@ -1 +1 @@ -Subproject commit d37aedb5659f9d0d8bcb8c227904fe02fa4997c9 +Subproject commit e2d6ba64b76d2f2fb33de2e0d16b38a0e0d52f73 diff --git a/modules/cli b/modules/cli index c57b19c..a3819f4 160000 --- a/modules/cli +++ b/modules/cli @@ -1 +1 @@ -Subproject commit c57b19c0338e8ebca9d160180bcf1c61524a6883 +Subproject commit a3819f4bef30515bed8505d035c47c43c31002d5 diff --git a/modules/env b/modules/env index 73e8bc1..845b00a 160000 --- a/modules/env +++ b/modules/env @@ -1 +1 @@ -Subproject commit 73e8bc1d162fda243dbc16773791a8fbf7a72271 +Subproject commit 845b00a6eaa028f4d463685e475725cc2649f865 diff --git a/modules/error b/modules/error index 2e71abc..a0ed7f4 160000 --- a/modules/error +++ b/modules/error @@ -1 +1 @@ -Subproject commit 2e71abc9b048120be8df69d88137d1bebb619dd3 +Subproject commit a0ed7f489ea1ff0c30d22437fd48905544cd2c02 diff --git a/modules/fs b/modules/fs index 7f3f417..5e733dc 160000 --- a/modules/fs +++ b/modules/fs @@ -1 +1 @@ -Subproject commit 7f3f417bee8347b8248ff4f5ee1afaadc1a5c275 +Subproject commit 5e733dcf414ae017914d25b746f7c55a256e84bd diff --git a/modules/io b/modules/io index a35a308..04783ad 160000 --- a/modules/io +++ b/modules/io @@ -1 +1 @@ -Subproject commit a35a3089493847adf53fc282074dee180a99b73f +Subproject commit 04783adf7033301ba852dd249d1d2b4e14488459 diff --git a/modules/log b/modules/log index 5038b5c..64e73d3 160000 --- a/modules/log +++ b/modules/log @@ -1 +1 @@ -Subproject commit 5038b5c8bd5869ff28b750a14dd1a1520eeee254 +Subproject commit 64e73d37b2904f36d9ff889d651b9a0100b48f0b diff --git a/modules/note b/modules/note index acbc268..70634d5 160000 --- a/modules/note +++ b/modules/note @@ -1 +1 @@ -Subproject commit acbc268ac14ad9c0ad8d025a14825c384e7fb425 +Subproject commit 70634d5e8f8080ed23a8a3f5c8c7bdcffebaa4fe diff --git a/modules/os b/modules/os index 6c8ac76..41df9c5 160000 --- a/modules/os +++ b/modules/os @@ -1 +1 @@ -Subproject commit 6c8ac76a80b44994cca4d0de64e224e8c3b4709d +Subproject commit 41df9c51878c015ea17f486d835e3afee3b42bdc diff --git a/modules/path b/modules/path index b2494c0..39dc4d1 160000 --- a/modules/path +++ b/modules/path @@ -1 +1 @@ -Subproject commit b2494c0cf35877604b0f89d7b3769dc3f7b9d74d +Subproject commit 39dc4d1c8fac4e91e9f18077062c8d8a723c5192 diff --git a/modules/process b/modules/process index 9cb75eb..ba4a16a 160000 --- a/modules/process +++ b/modules/process @@ -1 +1 @@ -Subproject commit 9cb75ebfb48e92e0a08a1f69cd3a577c200446a5 +Subproject commit ba4a16a4dc3ec7f30f64dae18d250a00272149d4 diff --git a/modules/reply b/modules/reply index 160b723..a2b95d8 160000 --- a/modules/reply +++ b/modules/reply @@ -1 +1 @@ -Subproject commit 160b723c0681dabdd392c3f46018989b35fa863d +Subproject commit a2b95d881769a6dc1e1ed4e49505a9a59f962471 diff --git a/modules/tests b/modules/tests index 0e26396..b533fb0 160000 --- a/modules/tests +++ b/modules/tests @@ -1 +1 @@ -Subproject commit 0e2639638b01a77b1a4d95c74061ecf0685c5937 +Subproject commit b533fb066e9ac755dfff4a4f589c979e9bc50b4f diff --git a/modules/utils b/modules/utils index ef1b6da..2f7b00e 160000 --- a/modules/utils +++ b/modules/utils @@ -1 +1 @@ -Subproject commit ef1b6da424a90bb547976cc1b9cda7928a7f89e7 +Subproject commit 2f7b00e624a81dccbdc5ffbce94901a62f4d7c31 From 3e849e82419f1b22d9c92885f7f31003bf13b785 Mon Sep 17 00:00:00 2001 From: Gaspard Kirira Date: Sat, 18 Jul 2026 13:57:55 +0300 Subject: [PATCH 03/10] refactor: install Vix Note frontend as static assets --- modules/cli | 2 +- modules/note | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/cli b/modules/cli index a3819f4..7a91ca7 160000 --- a/modules/cli +++ b/modules/cli @@ -1 +1 @@ -Subproject commit a3819f4bef30515bed8505d035c47c43c31002d5 +Subproject commit 7a91ca754c2d1c1ce427a2cc163b833a6a703ee9 diff --git a/modules/note b/modules/note index 70634d5..1b1ed28 160000 --- a/modules/note +++ b/modules/note @@ -1 +1 @@ -Subproject commit 70634d5e8f8080ed23a8a3f5c8c7bdcffebaa4fe +Subproject commit 1b1ed284eedae5c280406ae8c1b70d915568f0a0 From 6578bd6797e6dc51d963af6b4d98a0864b7a9333 Mon Sep 17 00:00:00 2001 From: Gaspard Kirira Date: Sat, 18 Jul 2026 14:40:43 +0300 Subject: [PATCH 04/10] feat: improve Vix Note web editor experience --- modules/note | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/note b/modules/note index 1b1ed28..93d9902 160000 --- a/modules/note +++ b/modules/note @@ -1 +1 @@ -Subproject commit 1b1ed284eedae5c280406ae8c1b70d915568f0a0 +Subproject commit 93d990260d090af8b85f90fe62084f87ef0c31d9 From a8bcd136905ead3bf7c31c70c5a10cadcfd0f435 Mon Sep 17 00:00:00 2001 From: Gaspard Kirira Date: Sat, 18 Jul 2026 15:55:33 +0300 Subject: [PATCH 05/10] feat: integrate extensions into Vix Note web UI --- modules/note | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/note b/modules/note index 93d9902..5e452e7 160000 --- a/modules/note +++ b/modules/note @@ -1 +1 @@ -Subproject commit 93d990260d090af8b85f90fe62084f87ef0c31d9 +Subproject commit 5e452e713c7c034a0bd1e64266e3c05a0dd6487f From 02b23e1a73cbcb88f71f284f6e30df6f418b1a37 Mon Sep 17 00:00:00 2001 From: Gaspard Kirira Date: Sat, 18 Jul 2026 17:43:58 +0300 Subject: [PATCH 06/10] release: prepare v2.7.7 --- CHANGELOG.md | 53 +++++++++++++++++++++++++++------------------------- modules/cli | 2 +- modules/note | 2 +- 3 files changed, 30 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da434b4..3a36715 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,54 +10,57 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Added the first package-based extension system for Vix Note. - - Vix Note extensions are distributed as standard Vix registry packages. - - Added support for the `extensions.note` manifest field with API versioning, capabilities, custom cell types, runtime configuration, aliases, and permissions. + - Vix Note extensions are distributed as standard Vix packages through the Vix Registry. + - Added support for the `extensions.note` manifest section, including API versioning, capabilities, custom cell types, runtime configuration, aliases, and permissions. - Added discovery of built-in, project-local, and globally installed extensions. - - Project extensions take priority over global extensions, while built-in cell types remain protected. + - Project extensions take precedence over global extensions, while built-in cell types remain protected. - Added support for preserving custom cell types such as `python` when loading, saving, and exporting `.vixnote` documents. - - Added a generic external process runner using the `vix-note-extension-1` JSON protocol. + - Added a generic external runtime based on the `vix-note-extension-1` JSON protocol. - Added the `GET /api/extensions` endpoint and dynamic frontend discovery of available cell types. - - Existing Markdown, HTML, C++, and Reply cells continue to work through the new extension registry. + - Existing Markdown, HTML, C++, and Reply cells now run through the extension system. -- Extended registry and package commands for extension-aware packages. - - `vix publish` now validates and preserves `extensions.note` metadata in registry entries and individual package versions. +- Added extension management to the Vix Note interface. + - Browse installed, built-in, recommended, and registry extensions. + - Install, uninstall, enable, and disable extensions directly from the UI. + - Added a dedicated extension details page with runtime information and contribution metadata. + +- Extended registry and package commands for extension packages. + - `vix publish` now validates and preserves `extensions.note` metadata in published packages. - `vix search` now supports `--extension`, `--capability`, `--type`, and `--json`. - - Searches can now be performed using filters without requiring a text query. + - Extension searches can now be performed using filters without requiring a text query. - `vix install -g` now preserves extension metadata in the global installation registry. - - Added `vix note --list-extensions` for inspecting discovered Note extensions. - -- Added package manifests for additional Vix modules and published them to the Vix Registry. - - Added `vix.json` manifests for the Async, Env, Error, FS, IO, Log, Note, OS, Path, Process, Reply, Tests, and Utils modules. - - Updated the root repository to reference the new module revisions containing their registry metadata. - - These modules can now be discovered, versioned, and installed through the standard Vix package workflow. + - Added `vix note --list-extensions` for listing all discovered Note extensions. ### Fixed -- Fixed global package installs for header-only packages that build a CLI executable but do not provide CMake runtime install rules. - - `vix install -g` now detects the built command and stages it into the Vix global `bin` directory. - - Commands such as `cli_test` are available immediately from `~/.vix/global/bin` after installation when that directory is already on `PATH`. - - Packages that already provide proper `install(TARGETS ... RUNTIME DESTINATION bin)` rules continue to use the CMake installation output as the source of truth. +- Fixed global installation of header-only packages that build CLI executables without CMake runtime install rules. + - `vix install -g` now detects the generated executable and installs it into the Vix global `bin` directory. + - Commands become immediately available from `~/.vix/global/bin` when it is on `PATH`. + - Packages that provide proper `install(TARGETS ... RUNTIME DESTINATION bin)` rules continue to use the standard CMake installation process. + +- Fixed Vix Note asset resolution. + - Installed assets are now preferred over stale build-tree assets when launching `vix note`. ### Validation - Built the Vix Note module and the Vix CLI successfully. -- Verified `vix note --list-extensions` with the four built-in extensions. -- Verified custom cell type round-tripping with a Python cell. +- Verified `vix note --list-extensions` with the built-in extensions. +- Verified installation, enabling, disabling, and removal of Note extensions. +- Verified custom cell type round-tripping with Python cells. - Verified the `/api/extensions` endpoint. - Verified execution through a temporary external Note extension runtime. - Verified extension-aware searches with: - `vix search --extension note --json` - `vix search json --json` - - Verified `vix install -g gaspardkirira/cli_test`, `command -v cli_test`, and `cli_test chain 5`. -- Added and ran a global install regression fixture for a package that builds an executable but only installs headers through CMake. +- Added and executed a regression test covering global installation of header-only CLI packages. ### Known limitations - External Note extension runtimes currently use one-shot processes. -- External process execution is currently implemented for POSIX platforms; Windows reports an explicit unsupported-runtime error. -- Persistent kernels, interactive permissions, extension-provided JavaScript, native C ABI loading, and automatic local runtime builds are not yet included. -- Permanent exhaustive CTest coverage for the extension system remains to be added. +- External process execution is currently implemented only on POSIX platforms. Windows reports an explicit unsupported runtime error. +- Persistent kernels, interactive permissions, extension-provided JavaScript, native C ABI loading, and automatic local runtime builds are not yet implemented. +- Additional end-to-end CTest coverage for the extension system is planned. ## v2.7.6 diff --git a/modules/cli b/modules/cli index 7a91ca7..b54ac7a 160000 --- a/modules/cli +++ b/modules/cli @@ -1 +1 @@ -Subproject commit 7a91ca754c2d1c1ce427a2cc163b833a6a703ee9 +Subproject commit b54ac7a93864c45115931cd715122d02dbca1092 diff --git a/modules/note b/modules/note index 5e452e7..bf0a381 160000 --- a/modules/note +++ b/modules/note @@ -1 +1 @@ -Subproject commit 5e452e713c7c034a0bd1e64266e3c05a0dd6487f +Subproject commit bf0a381e763579c40f39e71af5348bfd96164f12 From 66cd42a1e90c58f4589741e1f5c6e5a84711209a Mon Sep 17 00:00:00 2001 From: Gaspard Kirira Date: Sat, 18 Jul 2026 19:04:06 +0300 Subject: [PATCH 07/10] fix(note): update note module test fixes --- modules/note | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/note b/modules/note index bf0a381..0010538 160000 --- a/modules/note +++ b/modules/note @@ -1 +1 @@ -Subproject commit bf0a381e763579c40f39e71af5348bfd96164f12 +Subproject commit 00105386c0cf7c71b4fea8630407888b1ac3b4e4 From 55b57dcabb9b4d933bbfea01b06c302448fa3fac Mon Sep 17 00:00:00 2001 From: Gaspard Kirira Date: Sat, 18 Jul 2026 23:04:53 +0300 Subject: [PATCH 08/10] release: update CLI and Note for v2.7.7 --- modules/cli | 2 +- modules/note | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/cli b/modules/cli index b54ac7a..6ed3358 160000 --- a/modules/cli +++ b/modules/cli @@ -1 +1 @@ -Subproject commit b54ac7a93864c45115931cd715122d02dbca1092 +Subproject commit 6ed33584785e3701672c322c9427b105d0f20214 diff --git a/modules/note b/modules/note index 0010538..3049c36 160000 --- a/modules/note +++ b/modules/note @@ -1 +1 @@ -Subproject commit 00105386c0cf7c71b4fea8630407888b1ac3b4e4 +Subproject commit 3049c368132b358ed8ecb891d742a2fac2f0936b From 6253db4725838e797b5c476753b7e7ddbb933cd7 Mon Sep 17 00:00:00 2001 From: Gaspard Kirira Date: Sat, 18 Jul 2026 23:35:23 +0300 Subject: [PATCH 09/10] release: update Note for v2.7.7 --- modules/note | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/note b/modules/note index 3049c36..497de62 160000 --- a/modules/note +++ b/modules/note @@ -1 +1 @@ -Subproject commit 3049c368132b358ed8ecb891d742a2fac2f0936b +Subproject commit 497de62ec35c73dbe4d32d4f2a6ec758613d712d From ade8a1492f58b420d78f377ed7735f700763ca1a Mon Sep 17 00:00:00 2001 From: Gaspard Kirira Date: Sun, 19 Jul 2026 23:21:48 +0300 Subject: [PATCH 10/10] chore(release): prepare v2.7.7 --- CHANGELOG.md | 32 ++++++++++++++++++++++++++++++++ README.md | 35 +++++++++++++++++++++++++++++++---- modules/cli | 2 +- modules/note | 2 +- modules/reply | 2 +- 5 files changed, 66 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a36715..9b4b3de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `vix install -g` now preserves extension metadata in the global installation registry. - Added `vix note --list-extensions` for listing all discovered Note extensions. +- Modernized the Vix Reply interactive terminal. + - Added a new Vix-branded banner and prompt with compiler, platform, and keyboard shortcut information. + - Added a dedicated modern prompt for native C++ snippet mode. + - Added real-time C++ syntax highlighting for directives, headers, keywords, types, strings, numbers, comments, namespaces, macros, and function calls. + - Added automatic indentation based on C++ block depth. + - Added automatic dedentation when entering closing braces. + - Added code-mode `Tab` and `Shift+Tab` indentation. + - Added editable cursor positioning with left and right arrow navigation. + - Added insertion and deletion at the current cursor position instead of restricting edits to the end of the line. + - Added support for `Home`, `End`, `Delete`, `Ctrl+A`, `Ctrl+E`, `Ctrl+U`, and `Ctrl+K`. + - Added an optional Vi-style keymap through `VIX_REPLY_KEYMAP=vi`. + - Added initial Vi navigation commands including `h`, `l`, `0`, `$`, `w`, `b`, `i`, `a`, `I`, `A`, and `x`. + - Added terminal color detection with support for `NO_COLOR` and non-interactive terminals. + ### Fixed - Fixed global installation of header-only packages that build CLI executables without CMake runtime install rules. @@ -41,6 +55,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed Vix Note asset resolution. - Installed assets are now preferred over stale build-tree assets when launching `vix note`. +- Fixed C++ editing behavior in Vix Reply. + - C++ indentation is no longer removed before snippets are stored or executed. + - Pressing `Tab` in C++ mode no longer opens the regular Reply command completion menu. + - Continuation prompts now align correctly with the first C++ input line. + - Empty lines inside C++ snippets are preserved without storing indentation-only whitespace. + - Backspace now removes indentation levels correctly at the beginning of a code line. + - Cursor navigation now works across the complete line while syntax highlighting remains active. + ### Validation - Built the Vix Note module and the Vix CLI successfully. @@ -54,6 +76,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `vix search json --json` - Verified `vix install -g gaspardkirira/cli_test`, `command -v cli_test`, and `cli_test chain 5`. - Added and executed a regression test covering global installation of header-only CLI packages. +- Built the complete Vix project with the updated Reply module. +- Verified C++ syntax highlighting in the interactive terminal. +- Verified automatic indentation and closing-brace dedentation. +- Verified `Tab`, `Shift+Tab`, Backspace, arrow-key navigation, `Home`, `End`, and `Delete`. +- Verified editing and inserting code in the middle of an existing line. +- Verified native C++ snippet execution and structured compiler diagnostics. +- Verified the optional Vi keymap with `VIX_REPLY_KEYMAP=vi`. +- Verified that the updated Reply editor builds without unused-function warnings. ### Known limitations @@ -61,6 +91,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - External process execution is currently implemented only on POSIX platforms. Windows reports an explicit unsupported runtime error. - Persistent kernels, interactive permissions, extension-provided JavaScript, native C ABI loading, and automatic local runtime builds are not yet implemented. - Additional end-to-end CTest coverage for the extension system is planned. +- Real-time C++ highlighting in Vix Reply is lexical and does not perform full compiler-backed semantic analysis. +- The Vi keymap currently provides a focused initial command set rather than complete Vim compatibility. ## v2.7.6 diff --git a/README.md b/README.md index 782ba8b..b7581e2 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,18 @@ vix help The README intentionally does not reproduce the complete command reference. Detailed command behavior, options, examples, and project formats are maintained in the [official documentation](https://docs.vixcpp.com). +## Vix Reply + +

+ Vix Reply interactive C++ REPL +

+ +Vix Reply provides an interactive terminal for experimenting with C++, running native snippets, and receiving structured compiler diagnostics without creating a project first. + ## Native C++ remains visible Vix is not a successor to C++, a new language syntax, or a separate compiler model. It does not turn C++ into an interpreted environment, and it does not place applications inside a closed runtime. @@ -209,6 +221,18 @@ vix modules add client --websocket --workflow client See the [module documentation](https://docs.vixcpp.com), [vix.app guide](https://docs.vixcpp.com/guides/vix-app), and [application modules guide](https://docs.vixcpp.com/app-modules) for the complete reference. +## Production deployment workflows + +Vix provides production workflows for building, testing, restarting services, checking application health, validating Nginx configuration, inspecting failure logs, and rolling back failed Git deployments. + +```bash +vix deploy --dry-run +vix deploy +vix doctor production +``` + +Deployment behavior is configured in `vix.json`, while the application, compiler, service, and production infrastructure remain under the developer’s control. + ## SDK profiles and the Vix Registry SDK profiles define coherent development environments for different kinds of Vix applications. They allow the CLI, runtime modules, build configuration, and supporting tools to be installed and upgraded together instead of being assembled manually on every machine. @@ -221,13 +245,13 @@ Together, SDK profiles and the registry make it easier to reproduce the same pro

Vix Note interface

-Vix Note provides a visual space for executable C++ notes, examples, experiments, and diagnostics. It uses the normal Vix workflow underneath, so code explored in a note remains connected to the same runtime and toolchain used by a project. +Vix Note is a visual workspace for executable notes, experiments, and diagnostics. Its extension system allows packages to add new cell types, runtimes, and developer tools such as Python execution or C++ memory visualization. ```bash vix note @@ -272,7 +296,7 @@ New capabilities can still be added, but they should solve a practical applicati ## Projects around Vix.cpp -Vix.cpp remains the native foundation. Higher-level libraries and runtimes can grow around it without making the core platform lose focus. +Vix.cpp remains the native foundation. Higher-level libraries, runtimes, and developer tools can grow around it without making the core platform lose focus. **[Rix](https://rix.vixcpp.com)** is the optional userland library layer for Vix applications. It provides application-level packages and a unified facade above the core Vix runtime. @@ -280,6 +304,8 @@ Vix.cpp remains the native foundation. Higher-level libraries and runtimes can g **[Kordex](https://github.com/softadastra/kordex)** is a JavaScript runtime for reliable local-first applications built on Vix.cpp. It demonstrates how the native platform can support higher-level runtimes while preserving a C++ foundation. +**[Cgride](https://github.com/cgride/cgride)** is an embeddable native C++ build engine configured in C++. It provides project modeling, toolchain discovery, build graphs, incremental compilation, caching, and a minimal CLI. It is also designed for integration into runtimes and developer tools such as Vix.cpp. + ## Working on this repository This repository contains the Vix CLI, runtime, modules, SDK profiles, registry integration, tests, examples, release infrastructure, and documentation source. Users normally begin with the packaged CLI and the official documentation; contributors work directly from this repository. @@ -309,4 +335,5 @@ Vix.cpp is maintained by [Softadastra](https://softadastra.com), a company build ## License -Vix.cpp is available under the MIT License. See [LICENSE](LICENSE) for details. +Vix.cpp is available under the MIT License. \ +See [LICENSE](LICENSE) for details. diff --git a/modules/cli b/modules/cli index 6ed3358..1e4773c 160000 --- a/modules/cli +++ b/modules/cli @@ -1 +1 @@ -Subproject commit 6ed33584785e3701672c322c9427b105d0f20214 +Subproject commit 1e4773c1aace145fe8941a8c73887e0db4f0576e diff --git a/modules/note b/modules/note index 497de62..10b256e 160000 --- a/modules/note +++ b/modules/note @@ -1 +1 @@ -Subproject commit 497de62ec35c73dbe4d32d4f2a6ec758613d712d +Subproject commit 10b256efd2167cd588e70526fc947c01f4197b9b diff --git a/modules/reply b/modules/reply index a2b95d8..73c6983 160000 --- a/modules/reply +++ b/modules/reply @@ -1 +1 @@ -Subproject commit a2b95d881769a6dc1e1ed4e49505a9a59f962471 +Subproject commit 73c69833be5129dab80ce3bc12e1d9fc231e0690