Full SDK
The all SDK is the complete Vix.cpp SDK profile.
Install it when a machine needs the full native Vix platform in one SDK tree: web modules, data modules, desktop support, P2P modules, game support, agent tooling, and the common Vix foundation. It is useful for maintainers, release validation, integration testing, advanced development, or machines that regularly work across several Vix project domains.
vix upgrade --sdk allFor most projects, a smaller profile is the better choice. The full SDK is available when the machine really needs everything, not because every project should start there.
Install the Full SDK
Install the CLI first if it is not already installed.
Linux and macOS:
curl -fsSL https://vixcpp.com/install.sh | bashWindows PowerShell:
irm https://vixcpp.com/install.ps1 | iexThen install the full profile:
vix upgrade --sdk allInspect the profile before installing it:
vix upgrade --sdk info allUse this command when you want to see the modules, notes, version information, and system dependencies for the current release.
What the Full SDK includes
The full profile includes the common Vix foundation.
common foundation
cli
core
json
error
path
fs
io
env
os
utils
log
async
time
process
threadpool
template
ui
noteIt then includes the specialized module families from the other SDK profiles.
web
middleware
websocket
validation
crypto
webrpc
requests
data
db
orm
kv
cache
desktop
desktop shell
ui webview support
p2p
p2p
p2p_http
net
sync
game
game
SDL support
OpenGL support
agent
agentThe full profile is one complete SDK profile. It is not a command that installs default, web, data, desktop, p2p, game, and agent one by one. Vix installs the all SDK as its own profile and the CLI uses it through the normal Vix workflow.
When to use it
Use the Full SDK when the same machine needs to build across several Vix domains.
That includes maintaining Vix itself, validating SDK releases, testing examples across modules, building projects that combine many module families, or preparing a development machine where switching between web, data, desktop, P2P, game, and agent projects is normal.
vix upgrade --sdk allFor a single backend project, install web. For a database project, install data. For a desktop project, install desktop. The full SDK is for the cases where that separation is no longer enough for the machine you are setting up.
Use it with a project
After the full profile is installed, the project workflow does not change.
vix new app
cd app
vix install
vix devBuild without running:
vix buildRun manually:
vix runStart the development loop:
vix devThe SDK profile stays behind the CLI workflow. The project does not need to manually wire SDK paths. Vix resolves the installed SDK profile when it builds, runs, or enters development mode.
Build with the full profile
Use vix build when you only want to compile the project.
vix buildUse verbose output when you need more detail from the build workflow.
vix build -vUse a release build when preparing an optimized binary.
vix build --preset releaseIf the project uses database-specific features, pass the matching build option.
vix build --with-sqlite
vix build --with-mysqlThe full SDK makes the modules available locally. The project still decides which modules and options it actually uses.
Run a small check
Create a small file:
cat > main.cpp <<'CPP'
#include <vix.hpp>
int main()
{
vix::print("Hello from the full Vix SDK");
return 0;
}
CPPRun it:
vix run main.cppExpected output:
Hello from the full Vix SDKYou can also verify a module from a specialized family, such as vix::requests from the web modules.
cat > main.cpp <<'CPP'
#include <vix/requests/requests.hpp>
#include <vix/print.hpp>
int main()
{
auto response = vix::requests::get("https://example.com/");
vix::print("status:", response.status_code());
return 0;
}
CPP
vix run main.cppIf this compiles and runs, the CLI can find the installed full SDK and use modules from the web family.
Release and validation workflow
The full SDK is useful when validating the platform because it lets one machine build and test across module families.
vix fmt --check
vix check --tests
vix build --preset release
vix tests --preset releaseThis is one of the strongest reasons to use all: it keeps release validation from depending on a partial SDK profile.
System dependencies
The full SDK may require the system dependencies used by several profiles at once.
That can include libraries for HTTPS and crypto workflows, database backends, WebView support, SDL, OpenGL, networking, and other native features depending on the release and platform.
Check the current profile information before installing or debugging the full SDK.
vix upgrade --sdk info allInstall the operating-system packages shown by that command. The SDK gives Vix the native module layer, but the operating system still needs the libraries those modules depend on.
Update the Full SDK
Install or update the latest full profile:
vix upgrade --sdk allPreview the update without changing files:
vix upgrade --sdk all --dry-runInstall a specific version:
vix upgrade --sdk all --version v2.7.0Use JSON output for scripts:
vix upgrade --sdk all --jsonRemove the Full SDK
Remove the full profile when it is no longer needed:
vix uninstall --sdk allPreview the removal first:
vix uninstall --sdk all --dry-runRemove a specific version:
vix uninstall --sdk all --version v2.7.0List installed SDK profiles known to the uninstall command:
vix uninstall --sdk-listRemoving the full SDK removes the local Vix all profile files. It does not remove operating-system packages installed through your system package manager.
When not to use it
Do not install the full SDK only because it feels safer.
A smaller profile is often the better development environment because it makes the project’s native needs clear. A backend project should normally use web. A persistence-focused project should use data. A desktop project should use desktop. A game project should use game.
vix upgrade --sdk web
vix upgrade --sdk data
vix upgrade --sdk desktop
vix upgrade --sdk gameUse all when the machine needs the complete platform, not when the project only needs one module family.
Common mistakes
Installing all for every new project
This works, but it hides which modules the project actually depends on.
vix upgrade --sdk allPrefer the smallest profile that matches the project.
vix upgrade --sdk webThis keeps setup lighter and makes dependency problems easier to understand.
Forgetting system dependencies
The full SDK has the widest module coverage, so it can also have the widest native dependency surface.
Check the profile information first.
vix upgrade --sdk info allInstall the required system packages before debugging the project as if the SDK itself were missing.
Assuming the full SDK changes the CLI workflow
The workflow stays the same.
vix build
vix run
vix devThe full profile changes what native modules are available to the local Vix environment. It does not replace the normal commands.
Using all modules without project discipline
The full SDK makes many modules available, but a project should still use only what it needs. A clear project structure is more important than having every module installed locally.
Use the profile to support development. Do not let it turn into a reason to mix unrelated domains in one project without a clear architecture.
Daily workflow
A typical full-SDK development machine may use several project types.
vix upgrade --sdk allFor each project:
cd project
vix install
vix devBefore committing:
vix fmt --check
vix check --testsBefore release:
vix build --preset release
vix tests --preset releaseThe Full SDK stays behind the CLI workflow. Once installed, it gives Vix access to the complete native SDK profile while the project remains driven by normal Vix commands.
Next step
Return to the SDK overview when you need to compare profiles or decide which SDK should be installed for a project.