moxpp-setup — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited moxpp-setup (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Help the developer configure this MoxPP template for their new project. Work through the steps below interactively — ask for any information you don't already have before making changes.
Ask the user for the following if not already provided via $ARGUMENTS:
MYAPP_). Default: derived from project name.C++23, confirm or ask for override.single (one project), flat (sibling projects in src/), hierarchical (grouped), or manual. Default: single.test) or remove unit test support (nil)?<name>/<version> format (e.g. fmt/11.0.2). Ask whether any package needs options changed (e.g. shared = True). Note: gtest is added automatically when unit tests are enabled and does not need to be listed here.mox.luaEdit the following fields in mox.lua:
cmox_product_name → new project namecmox_macro_prefix → new macro prefix (must end with _)cmox_cpp_version → confirmed C++ standardcmox_project_architecture → chosen architecture modecmox_unit_test_src → "test" or nil. If set to `nil`, also delete the `./test` directory at the repository root — leaving it in place will cause stale project files and build errors.cmox_function_setupworkspace(): update startproject to match the new main project name (or remove the call if not applicable)src/build.luamox_project("HelloWorld", "hello_world") to use the new project name and a snake_case output name.mox_console(), mox_sharedlib(), etc.).python -c "import uuid; print(uuid.uuid4())" via Bash and replace the existing UUID in src/build.lua.single architecture — for other architectures this is handled in step 5):sharedlib or staticlib: delete src/main.cpp, create src/<output_name>.h, src/<output_name>.cpp (empty placeholders), and src/dummy.cpp (containing only // dummy). dummy.cpp is required on Windows — without at least one compiled .cpp, MSBuild will not produce a .lib and any dependent project will fail to build.console or windowed: keep src/main.cpp as-is.conanfile.pyMoxPPRecipe to match the new project name (e.g. MyProjectRecipe).spdlog dependency (and its shared = True option) with the packages the user provided.self.options[...] calls in configure().self.requires("gtest/1.16.0") if unit tests are enabled; remove it otherwise.single)src/<first-project-name>/. Move src/build.lua into it. Then apply source file management based on output type:console or windowed: move src/main.cpp into the project directory.sharedlib or staticlib: delete src/main.cpp and create <project-dir>/<output_name>.h, <project-dir>/<output_name>.cpp (empty placeholders), and <project-dir>/dummy.cpp (containing only // dummy).src/<group>/<project-name>/. Move src/build.lua into it. Apply the same source file management rules as flat above, using the new project directory as the target.cmox_function_includeprojects() in mox.lua.CLAUDE.mdRewrite CLAUDE.md to follow the enforced layout below. Keep all existing content under ## MoxPP Build System (headings inside that section demoted by one level: ## → ###). Replace the top section with real project content based on what was gathered in step 1.
Required layout:
# <Project Name>
<Project description — what it does, its purpose, target platform/audience, etc.>
## Coding Conventions
<List the conventions the developer provided. If none were given, omit this section.>
## <Any other project-specific sections the developer wants Claude to know>
## Conan Dependencies
<Bulleted list of all active Conan packages in `<name>/<version>` format, with a one-line note on purpose if known. Keep this section up to date whenever conanfile.py changes.>
## MoxPP Build System
<Existing MoxPP content verbatim, with all headings demoted one level>README.mdAsk the user directly: "Do you want me to rewrite README.md for your project now?"
If yes, ask for any additional details needed beyond what was already gathered (e.g. badges, links, usage examples, screenshots). Then replace the entire contents of README.md with a meaningful readme for the project. Do not include a Claude Code section — BUILDING.md already covers that and persists as the reference for build and tooling documentation. The only required carry-over is a short line pointing readers to BUILDING.md for build instructions, dependencies, and tooling (including Claude Code integration).
If no, remind the user that the current README.md is the MoxPP template readme and should be replaced before the project goes public.
List all files changed and remind the user to run mox init (or ./mox.sh init) to regenerate project files after these changes.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.