BetaPublic beta — Read the release notes
Documentation

Initialize a Project

solidiom init creates the .solidiom/config.json file that tells the CLI how to install and manage primitives in your project.

Usage

solidiom init

If a config file already exists, the command reports that config is present and exits. Pass --force to overwrite.

Flags

  • --force — Overwrite an existing config file
  • --json — Output the result as JSON

Default Configuration

Running solidiom init with no arguments produces .solidiom/config.json with these defaults:

{
  "positioningAdapter": "@solidiom/adapter-positioning-floating-ui",
  "sourceDir": "src/ui/primitives",
  "runtimeDir": "src/ui/_runtime",
  "componentDir": "src/ui/components",
  "blockDir": "src/ui/blocks",
  "themeDir": "src/ui/themes",
  "defaultMode": "package"
}

Config File Settings

SettingTypeDefaultDescription
sourceDirstringsrc/ui/primitivesTarget directory for source-installed primitives
runtimeDirstringsrc/ui/_runtimeRuntime target directory for source installs
componentDirstringsrc/ui/componentsTarget directory for component deliverables
blockDirstringsrc/ui/blocksTarget directory for block deliverables
themeDirstringsrc/ui/themesTarget directory for theme deliverables
stylingProfilecss | tailwind | unocss(none)Project-wide styling profile
defaultModepackage | sourcepackageDefault install mode for solidiom add
positioningAdapterstring@solidiom/adapter-positioning-floating-uiPositioning adapter package

Policy File

.solidiom/policy.json is optional. If it exists, it controls verification and version constraints with these defaults:

{
  "signatureMode": "none",
  "trustedIdentities": [],
  "allowedPrimitiveVersions": {},
  "registrySignatureRequired": false,
  "registryPublicKeys": [],
  "requireVerifiedSource": true
}
SettingTypeDefaultDescription
signatureModesigstore | trusted-keys | nonenoneArtifact signature verification mode
trustedIdentitiesstring[][]Identities allowed for sigstore verification
allowedPrimitiveVersionsrecord{}Version constraints per package name
registrySignatureRequiredbooleanfalseRequire signed registry index
registryPublicKeysstring[][]Ed25519 public keys (base64) for registry verification
requireVerifiedSourcebooleantrueRequire byte-level verification for source installs

Next Steps

After initialization, use solidiom add <primitive> to install your first primitive.