Skip to content

Development commands

Development commands configure how applications are created and worked on locally. Development preferences remain separate from portable Application Intent.

Stack Profiles

baha stack list
baha stack show NAME
baha stack create

Stack Profiles describe reusable development preferences and can be supplied by built-in, user, repository or organization catalogs.

Developer access

baha dev credentials
baha dev domain

These commands expose Target-local developer access information without changing application capability intent.

Workspaces

Application workspace commands manage local source mappings for multi-repository applications.

Workspace paths are developer-local state and never become portable application identity.

The normal workspace surface is:

baha app workspace status
baha app workspace update --check
baha app workspace update

status is read-only. update --check fetches upstream state and previews safe changes without moving checked-out revisions. update uses native Git and only performs fast-forward-only updates of clean branches with a configured upstream.

BaseHarbor never automatically stashes, resets, rebases, merges divergent history, resolves conflicts or switches branches. Dirty, detached, ahead-only and diverged repositories are left untouched with an actionable native-Git next step.

The existing init, map, show and resolve commands remain available for deterministic workspace mapping and resolution.

Example: map a local API checkout

Inside the generated orders-api repository, suppose its existing Git checkout has a configured origin. Capture that real repository identity and map the scaffold's component app:

repository_url="$(git remote get-url origin)"
baha app workspace init --source backend="$repository_url" --component app=backend
baha app workspace map backend "$PWD"
baha app workspace show
baha app workspace resolve -o json
baha app workspace status
baha app workspace update --check

The source identity belongs in .baseharbor/sources.yaml; the absolute checkout path stays developer-local. resolve should map component app to this checkout. The final command fetches upstream information and previews possible updates without moving your branch. Use baha app workspace update only when you intend the eligible clean branches to fast-forward.

For another component, add its actual source identity with another --source and its manifest component with another --component; then map that source to its checkout. Do not invent component names absent from the application contract.

Example: inspect stack defaults

baha stack list
baha stack show go

This lets you inspect the built-in Go development profile before selecting --stack go in app new. Stack preferences are development configuration, not a SQL/cache provider selection.