Docs menu

Reference

Manifest and project files

The fields of brico.manifest.json, brico.json and the global config file.

BricoWerx uses three JSON files:

FileWhereOwned by
brico.manifest.jsonInside every Vault snapshotThe brick: written by capture, read by add, upgrade and doctor
brico.jsonYour project rootYour project: which bricks are installed, and where
~/.brico/config.jsonYour home directoryYou: Vault location, defaults and publish repository

brico.manifest.json

The contract every brick carries. capture generates it, and you can edit it before publishing a new version. The JSON Schema is docs/manifest.schema.json in the repository.

Required fields

FieldTypeDescription
schemaVersioninteger ≥ 1Version of the manifest format, separate from the brick’s own version
namestringLowercase letters, digits and hyphens, up to 64 characters, unique in the Vault. An @scope/ prefix is allowed and will be required for the public registry
versionsemverThe brick’s version
frameworkstringnest or next
languagestringCurrently always typescript
filesstring[]Brick-relative paths included in the snapshot
visibilitystringpublic or private

Optional fields

FieldTypeDescription
descriptionstringOne line, used by search
tagsstring[]Used by search and the terminal UI filter
authorstringDefaults to author in the global config
licensestringSPDX identifier
createdAt / updatedAtstringISO timestamps
dependenciesobjectnpm package → semver range, read from the source project’s package.json
peerDependenciesobjectPackages the host must provide. Never filled in by capture; write them by hand
bricoDependenciesstring[]Other bricks this one needs. Recorded, not yet resolved by add
envobject[]Environment variables: { name, required, description?, default?, secret? }
exportsstring[]Public entry points, such as ui/index.ts
compatibilityobjectframework, supportedVersions (semver range), adapters, language
hooksobjectinstall, remove, migrate, postAdd, postBuild command lists. Recorded only, never run yet
installPathstringWhere the files land in a target, relative to its root. Overrides the adapter default
documentationstringLink or path to further documentation
brico.manifest.json
{
  "schemaVersion": 1,
  "name": "auth",
  "description": "JWT authentication with Passport and bcrypt",
  "version": "0.2.0",
  "framework": "nest",
  "language": "typescript",
  "author": "platform-team",
  "visibility": "private",
  "tags": ["security", "jwt", "auth"],
  "dependencies": {
    "@nestjs/jwt": "^10.2.0",
    "@nestjs/passport": "^10.0.3",
    "bcrypt": "^5.1.1"
  },
  "env": [
    { "name": "JWT_SECRET", "required": true, "secret": true },
    { "name": "JWT_EXPIRES_IN", "required": false, "default": "1h" }
  ],
  "exports": ["auth.module.ts"],
  "files": ["auth.module.ts", "auth.service.ts", "jwt.strategy.ts"],
  "compatibility": { "framework": "nest", "supportedVersions": ">=10.0.0" },
  "installPath": "src/auth"
}

brico.json

Created by the first brico add, and updated by add, upgrade and remove. Commit it.

brico.json
{
  "framework": "nest",
  "adapter": "nest",
  "modules": [
    {
      "name": "auth",
      "version": "0.2.0",
      "installPath": "src/auth",
      "addedAt": "2026-09-14",
      "updatedAt": "2026-10-02"
    }
  ]
}
FieldDescription
frameworkDetected framework
adapterAdapter that installed the bricks
modules[].name / versionWhat is installed. upgrade compares this version with the Vault
modules[].installPathWhere it was installed. remove deletes this directory
modules[].addedAt / updatedAtWhen it was added, and last upgraded

~/.brico/config.json

~/.brico/config.json
{
  "vaultPath": "/Users/you/.brico/vault",
  "defaultVisibility": "private",
  "author": "platform-team",
  "publishRepo": "git@github.com:acme/team-vault.git"
}
KeyDescriptionOverridden by
vaultPathVault location--vault, BRICO_VAULT
defaultVisibilityVisibility for new captures--visibility
authorAuthor written into new manifests—
publishRepoMain repository for publish and pull. Saved on the first publish--repo, -l, BRICO_PUBLISH_REPO

All environment variables are listed in Configuration.