kalup

Introduction

Kalup keeps a HubSpot portal's configuration in TypeScript files, and gives your app its types from the same files

Kalup keeps a HubSpot portal's configuration (objects, property groups, properties and custom object schemas) in TypeScript files in your repository. The same files give your app its types, so a renamed property or a removed option fails at compile time instead of in production.

Start here

You areRead
New to KalupGetting started, then How Kalup works
A developer wiring Kalup into an appConfig files, Property builders, Types and codecs
An admin working through Claude Code or another agentWorking with AI agents
An AI agentWorking with AI agents, JSON output, Exit codes, Errors

What this version does

Six commands, all read-only. None of them writes to a portal.

CommandWhat it does
kalup initCreate kalup.config.ts, pin the first target and pull it
kalup pullRead a target and write kalup/objects/*.ts
kalup validateCheck the config files and report every issue, offline
kalup irPrint the IR document derived from the config files
kalup fmtRewrite the config files in canonical form
kalup statusShow each target: key, portal check, account, scopes

Planning and applying changes (compare, plan, snapshot, docs, apply) come in the next releases. Running one of them today prints not implemented yet and exits 1.

Every command takes --json and prints one envelope/1 document, with fixed exit codes.

The docs

SectionWhat it covers
ConceptsHow Kalup works, Targets and credentials, Addresses, Types and codecs
ConfigConfig files and the grammar, kalup.config.ts, Property builders
CommandsOne page per command: usage, options, output, exit codes and errors
GuidesWorking with AI agents
ReferenceJSON output, Exit codes, Errors, Network and safety

Docs as Markdown

Every page is also served as plain Markdown, for agents and scripts:

URLReturns
/docs/<page>.md, for example /docs/commands/pull.mdOne page as Markdown
/docs/<page> with the header Accept: text/markdownThe same Markdown
/llms.txtAn index of every page with its title and URL
/llms-full.txtEvery page in one file

Packages

PackageWhat it is
kalupThe CLI, binary kalup
@kalup/coreThe runtime your app imports: builders, codecs, InferProperties, the config grammar and the IR. No dependencies, no network, no file system

Kalup is an independent open-source project maintained by Scopious. It is not affiliated with, endorsed by, or sponsored by HubSpot, Inc. HubSpot is a registered trademark of HubSpot, Inc.

On this page