The local CLI
Keep properties and property groups in TypeScript files, review every change as a plan, and apply it to any portal you name. Edits made in the HubSpot UI are held, not reverted.
- The packages
kalup(the CLI) and@kalup/core, on npm. init, offline, thenpull,validate,ir,fmtandstatus. The tool parses config and never executes it.- The object files in a folder you choose,
hubspot/by default, and monorepos. - Reads and writes of properties and property groups, on standard and custom objects, with every writable definition field. Custom object schemas are read and compared.
planwith the values it writes, held drift with both ways out, andapplythat plans and asks in one step: a person at a terminal,--yes, or--approveon a saved plan from a reviewed CI job.- State per portal, on your machine or committed with
state: 'repo',pullrecording what the files and the portal agree on, and recovery by a new plan. - Takeover mode,
exclude,adoptandyesLimit. A delete needs a tombstone,allowDestroyand a person at a terminal. compare,snapshotanddocs, with coverage recorded for every read.- Blueprints with
addandblueprint upgrade, and per-targetdefinitionoverrides. - Codecs and
InferPropertieswith zero runtime dependencies, literal property names,clear, and lenient enums withUnlistedand.strict(). --jsonon every command as oneenvelope/1, with stable issue codes and exit codes.- A CI recipe: one writer per portal, state on a branch,
--approvewith a reviewed digest. Documented, not yet run in a real CI. Recipe