Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
19 changes: 18 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
$<BUILD_INTERFACE:${VIX_THIRDPARTY_ASIO_DIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/vix/third_party/asio>
)

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
$<BUILD_INTERFACE:${asio_SOURCE_DIR}/asio/include>
)
endif()
target_link_libraries(vix INTERFACE vix::thirdparty_asio)

Expand Down
57 changes: 38 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<table>
<tr>
<td valign="top" width="68%">
<td valign="top" width="70%">

<h1>Vix.cpp</h1>

Expand All @@ -26,11 +26,15 @@
🌍 <a href="https://vixcpp.com">vixcpp.com</a><br />
📘 <a href="https://vixcpp.com/docs">Documentation</a>
</p>
</td>
<td valign="top" width="32%" align="right">
<img src="https://res.cloudinary.com/dwjbed2xb/image/upload/v1762524350/vixcpp_etndhz.png"

</td>
<td valign="middle" width="30%" align="right">
<img
src="https://res.cloudinary.com/dwjbed2xb/image/upload/v1762524350/vixcpp_etndhz.png"
alt="Vix.cpp Logo"
width="260"/>
width="200"
style="border-radius:50%;"
/>
</td>
</tr>
</table>
Expand All @@ -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)

## <a href="https://vixcpp.com/install">Shell (Linux, macOS)</a>

```bash
curl -fsSL https://vixcpp.com/install.sh | bash
```

### PowerShell (Windows)
## <a href="https://vixcpp.com/install">PowerShell (Windows)</a>

```bash
```powershell
irm https://vixcpp.com/install.ps1 | iex
```

Expand All @@ -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

Expand Down Expand Up @@ -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
---

Expand Down
2 changes: 1 addition & 1 deletion modules/cli
Loading