{"id":37227297,"url":"https://github.com/vixcpp/cli","last_synced_at":"2026-04-11T10:16:05.889Z","repository":{"id":317900251,"uuid":"1069189704","full_name":"vixcpp/cli","owner":"vixcpp","description":"vixcpp/cli – Command Line Interface for vix.cpp. Scaffold new projects, run the server with hot reload, and generate models or resources.","archived":false,"fork":false,"pushed_at":"2026-01-29T20:25:26.000Z","size":725,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-30T05:44:54.466Z","etag":null,"topics":["backend","cpp","cpp20","cross-platform","http-server","modular","repl","runtime","vix","vix-cli","vixcpp"],"latest_commit_sha":null,"homepage":"https://vixcpp.com","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vixcpp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-03T14:39:18.000Z","updated_at":"2026-01-29T20:25:30.000Z","dependencies_parsed_at":"2026-01-29T20:00:45.556Z","dependency_job_id":null,"html_url":"https://github.com/vixcpp/cli","commit_stats":null,"previous_names":["vixcpp/cli"],"tags_count":80,"template":false,"template_full_name":null,"purl":"pkg:github/vixcpp/cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixcpp%2Fcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixcpp%2Fcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixcpp%2Fcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixcpp%2Fcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vixcpp","download_url":"https://codeload.github.com/vixcpp/cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixcpp%2Fcli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28952577,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T18:30:42.805Z","status":"ssl_error","status_checked_at":"2026-01-31T18:30:19.593Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","cpp","cpp20","cross-platform","http-server","modular","repl","runtime","vix","vix-cli","vixcpp"],"created_at":"2026-01-15T03:20:07.847Z","updated_at":"2026-04-05T19:02:12.706Z","avatar_url":"https://github.com/vixcpp.png","language":"C++","readme":"# 🧩 Vix.cpp — CLI Module\n\n### Modern C++ Runtime Tooling • Zero-Friction Development • Fast Web Apps\n\n![C++](https://img.shields.io/badge/C%2B%2B-20-blue.svg)\n![License](https://img.shields.io/badge/License-MIT-green)\n![Status](https://img.shields.io/badge/Status-Stable-success)\n![Platform](https://img.shields.io/badge/Platform-Linux%20|%20macOS%20|%20Windows-lightgrey)\n![Runtime](https://img.shields.io/badge/Runtime-Vix.cpp%201.x-orange)\n\n\u003e **Vix CLI** is the official command-line interface for\n\u003e **Vix.cpp** — the modern C++ backend runtime.\n\u003e\n\u003e It provides a **professional, modern, runtime-like developer experience**\n\u003e for C++, comparable to **Python**, **Node.js**, **Deno**, or **Bun**.\n\n# 🚀 Overview\n\nThe Vix CLI (`vix`) brings modern runtime ergonomics to C++:\n\n- Instant project creation\n- Smart CMake-based builds\n- Friendly compiler diagnostics\n- Sanitizer-first validation\n- Script-like execution of `.cpp` files\n- Packaging \u0026 artifact verification\n- Built-in interactive REPL (**default**)\n\nRunning `vix` with no arguments launches the **interactive REPL**.\n\n# ⚙️ Features\n\n## 🧠 Built-in REPL (default)\n\n```bash\nvix\n```\n\n- Variables \u0026 expressions\n- JSON literals\n- Math evaluation\n- Runtime APIs (`Vix.cwd()`, `Vix.env()`, etc.)\n- Script-like exploration\n\nExplicit mode:\n\n```bash\nvix repl\n```\n\n## 🏗️ Project scaffolding\n\n```bash\nvix new blog\n```\n\nCreates:\n\n- CMake-based project\n- Modern C++20 structure\n- Ready-to-run Vix app\n\n## ⚡ Smart build system\n\n```bash\nvix build\n```\n\n- Uses CMake presets automatically\n- Parallel builds\n- Colored logs \u0026 spinners\n- Clean Ctrl+C handling\n\n## 🚀 Run applications\n\n```bash\nvix run\n```\n\n- Auto-build if required\n- Real-time logs\n- Runtime log-level injection\n\nScript mode:\n\n```bash\nvix run demo.cpp\n```\n\n## 🧪 Check \u0026 Tests (Sanitizers ready)\n\nCompile-only validation:\n\n```bash\nvix check\nvix check demo.cpp\n```\n\nWith sanitizers:\n\n```bash\nvix check demo.cpp --san\nvix check demo.cpp --asan\nvix check demo.cpp --ubsan\nvix check demo.cpp --tsan\n```\n\nRun tests:\n\n```bash\nvix tests\nvix tests --san\n```\n\n## 📦 Packaging \u0026 Verification\n\nCreate a distribution artifact:\n\n```bash\nvix pack --name blog --version 1.0.0\n```\n\nVerify artifacts:\n\n```bash\nvix verify dist/blog@1.0.0\nvix verify dist/blog@1.0.0 --require-signature\n```\n\n## 🧠 ErrorHandler — your C++ teacher\n\n- Explains template \u0026 overload errors\n- Detects missing includes\n- Highlights the _first real error_\n- Provides actionable hints\n\n# 🧰 Commands\n\n```bash\nvix \u003ccommand\u003e [options]\n```\n\n| Command                      | Description                             |\n| ---------------------------- | --------------------------------------- |\n| `vix`                        | Start REPL (default)                    |\n| `vix repl`                   | Start REPL explicitly                   |\n| `vix new \u003cname\u003e`             | Create a new project                    |\n| `vix make`                   | Generate C++ scaffolding                |\n| `vix build [name]`           | Configure + build                       |\n| `vix run [name] [--args]`    | Build and run                           |\n| `vix dev [name]`             | Dev mode (watch \u0026 reload)               |\n| `vix check [path]`           | Compile-only validation                 |\n| `vix tests [path]`           | Run tests                               |\n| `vix fmt`                    | Format source code                      |\n| `vix clean`                  | Remove project cache                    |\n| `vix reset`                  | Clean and reinstall project             |\n| `vix task`                   | Run reusable project tasks              |\n| `vix add \u003cpkg\u003e@\u003cver\u003e`        | Add dependency                          |\n| `vix install`                | Install project dependencies            |\n| `vix update`                 | Update dependencies                     |\n| `vix outdated`               | Check available dependency updates      |\n| `vix remove \u003cpkg\u003e`           | Remove dependency                       |\n| `vix list`                   | List dependencies                       |\n| `vix up`                     | Alias for `update`                      |\n| `vix i`                      | Alias for `install`                     |\n| `vix deps`                   | Legacy alias for `install`              |\n| `vix pack [options]`         | Create distribution artifact            |\n| `vix verify [options]`       | Verify artifact                         |\n| `vix cache`                  | Store package locally                   |\n| `vix registry`               | Sync/search packages                    |\n| `vix store`                  | Manage local cache                      |\n| `vix orm \u003csubcommand\u003e`       | ORM tooling                             |\n| `vix p2p`                    | Run P2P node                            |\n| `vix info`                   | Show Vix paths and cache locations      |\n| `vix doctor`                 | Check environment                       |\n| `vix upgrade`                | Update Vix                              |\n| `vix uninstall`              | Remove Vix                              |\n| `vix help [command]`         | Show help                               |\n| `vix completion`             | Generate shell completion script        |\n| `vix version`                | Show version                            |\n\n# 🧪 Usage Examples\n\n```bash\nvix\nvix new api\ncd api\nvix dev\nvix check --san\nvix tests\nvix pack --name api --version 1.0.0\nvix verify dist/api@1.0.0\n```\n\n# 🧩 Architecture\n\nThe CLI is built around a command dispatcher:\n\n```cpp\nstd::unordered_map\u003cstd::string, CommandHandler\u003e commands;\n```\n\n### Main components\n\n| Path                             | Responsibility       |\n| -------------------------------- | -------------------- |\n| `include/vix/cli/CLI.hpp`        | CLI entry \u0026 parsing  |\n| `src/CLI.cpp`                    | Command routing      |\n| `src/ErrorHandler.cpp`           | Compiler diagnostics |\n| `src/commands/ReplCommand.cpp`   | Interactive REPL     |\n| `src/commands/CheckCommand.cpp`  | Validation           |\n| `src/commands/PackCommand.cpp`   | Packaging            |\n| `src/commands/VerifyCommand.cpp` | Verification         |\n\n# 🔧 Build \u0026 Installation\n\n### Standalone CLI build\n\n```bash\ngit clone https://github.com/vixcpp/vix.git\ncd vix/modules/cli\ncmake -B build -S .\ncmake --build build -j$(nproc)\n```\n\nBinary:\n\n```bash\n./build/vix\n```\n\n### Full Vix build\n\n```bash\ncd vix\ncmake -B build -S .\ncmake --build build\n```\n\n# ⚙️ Configuration\n\n### Environment variables\n\n| Variable              | Description               |\n| --------------------- | ------------------------- |\n| `VIX_LOG_LEVEL`       | Runtime log level         |\n| `VIX_STDOUT_MODE`     | `line` for real-time logs |\n| `VIX_MINISIGN_SECKEY` | Secret key for `pack`     |\n| `VIX_MINISIGN_PUBKEY` | Public key for `verify`   |\n\n# 📦 CLI Help Output\n\n```\nVix.cpp\nFast. Simple. Built for real apps.\nVersion: v2.1.2-dirty\n\n  Start in seconds:\n    vix new api\n    cd api\n    vix install\n    vix dev\n\n  Core workflow:\n    add      Add a dependency\n    install  Install project dependencies\n    update   Update dependencies\n    run      Run your app\n    deploy   Deploy your app (coming soon)\n\n  Commands:\n\n    Project:\n    Docs: https://vixcpp.com/docs/modules/cli/new\n      new \u003cname\u003e        Create a new project\n      make              Generate C++ scaffolding\n      dev               Start dev server (hot reload)\n      run               Build and run\n      build             Build project\n      check             Validate build or file\n      tests             Run tests\n      fmt               Format source code\n      clean             Remove project cache\n      reset             Clean and reinstall project\n      task              Run reusable project tasks\n      repl              Interactive REPL\n\n    Dependencies:\n    Docs: https://vixcpp.com/docs/modules/cli/search\n      add \u003cpkg\u003e@\u003cver\u003e   Add dependency\n      install           Install dependencies\n      update            Update dependencies\n      outdated          Check available dependency updates\n      remove \u003cpkg\u003e      Remove dependency\n      list              List dependencies\n\n    Aliases:\n      up                Alias for update\n      i                 Alias for install\n      deps              Legacy alias for install\n\n    Build \u0026 share:\n    Docs: https://vixcpp.com/docs/modules/cli/pack\n      pack              Build distributable package\n      verify            Verify package integrity\n      cache             Store package locally\n\n    Advanced:\n      registry          Sync/search packages\n      store             Manage local cache\n      orm               Database migrations\n      p2p               Run P2P node\n\n    System:\n      info              Show Vix paths and cache locations\n      doctor            Check environment\n      upgrade           Update Vix\n      uninstall         Remove Vix\n\n    Help:\n      help [command]    Show command help\n      completion        Generate shell completion script\n      version           Show version\n\n  Global options:\n    --verbose         Debug logs\n    -q, --quiet       Only warnings/errors\n    --log-level       trace|debug|info|warn|error|critical\n    -h, --help        Show help\n    -v, --version     Show version\n\n  Docs:     https://vixcpp.com/docs\n  Registry: https://vixcpp.com/registry\n  GitHub:   https://github.com/vixcpp/vix\n\n~$\n```\n\n# 🧾 License\n\n**MIT License** © [Gaspard Kirira](https://github.com/gkirira)\nSee [`LICENSE`](../../LICENSE) for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvixcpp%2Fcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvixcpp%2Fcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvixcpp%2Fcli/lists"}