diff --git a/CHANGELOG.md b/CHANGELOG.md index 73d8543..0179645 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- ## [Unreleased] +## v1.40.0 + +### CLI + +- feat(cli): support `vix new .` (in-place project scaffold) + + You can now scaffold a Vix project directly in the current directory: + + ```bash + vix new . + ``` + + If the directory is not empty, Vix prompts before overwriting template files. + +- feat(cli): support npm-style scoped packages (`@namespace/name`) + + Vix now supports scoped package names similar to npm: + + ```bash + vix add @vix/http + vix add @gaspardkirira/api_app + ``` + + This enables clearer ecosystem organization and registry namespaces. # [v1.39.0] ## CLI diff --git a/CMakeLists.txt b/CMakeLists.txt index bb03bd6..77bd67a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -346,14 +346,31 @@ endif() set(VIX_THIRDPARTY_ASIO_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party/asio-src/asio/include") +# Prefer vendored Asio (submodule) if (EXISTS "${VIX_THIRDPARTY_ASIO_DIR}/asio.hpp") message(STATUS "Asio: using vendored Asio at ${VIX_THIRDPARTY_ASIO_DIR}") + target_include_directories(vix_thirdparty_asio SYSTEM INTERFACE $ $ ) + else() - message(FATAL_ERROR "Asio submodule missing: third_party/asio-src. Run: git submodule update --init --recursive") + message(STATUS "Asio submodule missing, fetching Asio automatically...") + + include(FetchContent) + + FetchContent_Declare( + asio + GIT_REPOSITORY https://github.com/chriskohlhoff/asio.git + GIT_TAG asio-1-30-2 + ) + + FetchContent_MakeAvailable(asio) + + target_include_directories(vix_thirdparty_asio SYSTEM INTERFACE + $ + ) endif() target_link_libraries(vix INTERFACE vix::thirdparty_asio) diff --git a/README.md b/README.md index e2b362e..dc728ee 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ - -
+

Vix.cpp

@@ -26,11 +26,15 @@ 🌍 vixcpp.com
📘 Documentation

-
- + + Vix.cpp Logo + width="200" + style="border-radius:50%;" + />
@@ -53,35 +57,37 @@ Vix.cpp is designed to remove overhead, unpredictability, and GC pauses. | PHP (Slim) | ~2,800 | ~17 ms | | FastAPI (Python) | ~750 | ~64 ms | ---- ## Installation -For detailed installation instructions, advanced options, and troubleshooting, -visit the official installation guide: -👉 https://vixcpp.com/install +Install the Vix runtime on your system using one of the commands below. +Note that there are multiple ways to install Vix. #### Linux -**Example (Ubuntu):** + +**Ubuntu / Debian deps (example):** + ```bash sudo apt update sudo apt install -y \ build-essential cmake ninja-build pkg-config \ - libboost-all-dev libssl-dev libsqlite3-dev + libssl-dev libsqlite3-dev ``` -#### macOS +## macOS Dependencies (example) + ```bash -brew install cmake ninja pkg-config boost openssl@3 +brew install cmake ninja pkg-config openssl@3 ``` -### Shell (Linux, macOS) + +## Shell (Linux, macOS) ```bash curl -fsSL https://vixcpp.com/install.sh | bash ``` -### PowerShell (Windows) +## PowerShell (Windows) -```bash +```powershell irm https://vixcpp.com/install.ps1 | iex ``` @@ -91,7 +97,21 @@ Verify installation: vix --version ``` ---- +## Build from source +```bash +git clone --recurse-submodules https://github.com/vixcpp/vix.git +cd vix + +cmake -S . -B build -DCMAKE_BUILD_TYPE=Release +cmake --build build -j + +# Install for current user (recommended) +cmake --install build --prefix "$HOME/.local" + +# Ensure PATH contains ~/.local/bin then restart your terminal +vix --version +vix doctor +``` ## Your first Vix.cpp program @@ -134,12 +154,11 @@ vix dev main.cpp Vix handles compilation, linking, and execution automatically. ---- - ## Learn more - 📘 Docs: https://vixcpp.com/docs - 🌍 Website: https://vixcpp.com +- 📦 Registry: https://vixcpp.com/registry - 📦 Examples: https://vixcpp.com/docs/examples --- diff --git a/modules/cli b/modules/cli index 4c11e23..70a754b 160000 --- a/modules/cli +++ b/modules/cli @@ -1 +1 @@ -Subproject commit 4c11e234b7497e54f3d9ae5d4e9bca563d90515d +Subproject commit 70a754b94b4441372b6b0b98ec76e88cd204af5a