agentskit.js

Stability levels

Every AgentsKit package declares an alpha / beta / stable level. This page defines each level plus the promotion / demotion criteria.

Every @agentskit/* package's package.json carries an agentskit.stability field with one of three values: alpha, beta, stable. This page is the contract.

#Levels

LevelPublic APIBreaking changesVersioningCoverage threshold
alphaSubject to changeAllowed in any minor0.xβ‰₯ 60% lines (target)
betaStable in shapeAllowed in next major (semver-respecting)0.x β†’ 1.xβ‰₯ 70% lines
stableFrozen contract per ADRMajor-version only with migration guideβ‰₯ 1.0β‰₯ 80% lines

The levels are about contract, not about maturity in the colloquial sense. A package can be stable and still gain features β€” what's frozen is the existing surface.

#Current status

PackageLevelNote
@agentskit/corestableSacred package; contract-stable per ADRs 0001–0006.
@agentskit/adaptersbetaProvider contract and resilience hardening continue toward 1.0.
@agentskit/runtimebetaReAct, topology, and durable APIs are still settling.
@agentskit/toolsbetaCore tools are usable; integrations and MCP ergonomics evolve.
@agentskit/memorybetaMain backends work; vector-store surface is sharpening.
@agentskit/skillsbetaCatalog and contract hardening continue toward promotion.
@agentskit/observabilitybetaLifecycle, cost-guard, and provider coverage continue to grow.
@agentskit/reactbetaProduction-ready; shared ChatReturn remains pre-1.0.
@agentskit/inkbetaTerminal parity and keyboard UX continue to mature.
@agentskit/clibetaCore commands are useful; programmatic surface is settling.
@agentskit/ragbetaRetriever, loader, and resilience contracts are hardening.
@agentskit/evalbetaSuite, replay, snapshot, and CI surfaces are still pre-1.0.
@agentskit/sandboxbetaLifecycle, config, and backend surfaces are still pre-1.0.
@agentskit/templatesbetaScaffold and validation surfaces are still pre-1.0.
@agentskit/validationbetaPrivate implementation behind the public tools validation surface.
@agentskit/statechartbetaSerializable interaction-state contract is hardened but pre-1.0.
@agentskit/eval-braintrustbetaPrivate implementation exposed through the public eval surface.
@agentskit/observability-langfusebetaPrivate workspace implementation exposed through observability.
@agentskit/integrationsbetaFetch-only catalog and execution boundaries are still pre-1.0.
@agentskit/mcpbetaTool bridge and bounded registry surfaces are still pre-1.0.
@agentskit/vuebetaFramework binding at headless parity, still pre-1.0.
@agentskit/sveltebetaFramework binding at headless parity, still pre-1.0.
@agentskit/solidbetaFramework binding at headless parity, still pre-1.0.
@agentskit/react-nativebetaFramework binding at headless parity, still pre-1.0.
@agentskit/angularbetaFramework binding at headless parity, still pre-1.0.

#Promotion criteria

#alpha β†’ beta

Promote when all of:

  1. API stable for β‰₯ 2 sprints. No breaking changes in the public surface across the last 4 weeks of release notes.
  2. Coverage β‰₯ 70% lines. Per-package vitest threshold raised to 70 in CI.
  3. At least one external integration story. Either an example app in apps/example-*, a recipe in /docs/reference/recipes/, or a public consumer.
  4. Stability note in package.json updated to summarise what is and isn't covered.

#beta β†’ stable

Promote when all of:

  1. An ADR locks the contract. New ADR or amendment in docs/architecture/adrs/ with Status: Accepted.
  2. Coverage β‰₯ 80% lines. Per-package vitest threshold raised to 80 in CI.
  3. No breaking changes for β‰₯ 1 quarter. Empirical, measured by changeset majors in the package.
  4. Migration guide for the upcoming major if any breaking change is queued.
  5. Version bumped to 1.0.0 in the same release.

#Demotion criteria

Stable is not a one-way door. A package returns to beta when:

  1. A breaking change is required that can't ship behind a flag (rare; almost always avoided).
  2. A security or correctness incident invalidates the contract (e.g. an injection class missed by @agentskit/core/security).

Demotions are loud β€” they go in the changelog under their own heading, link to the incident, and ship with a migration guide for any consumer that depended on the now-revised behaviour.

#Until-promoted

If you depend on an alpha or beta package today, do the following:

  1. Pin to a specific minor. @agentskit/vue@^0.2.1, not *.
  2. Read the stability note in package.json β€” it lists the parts of the surface most likely to move.
  3. Open an issue when you hit a constraint. Stable promotions are triggered by real-world feedback.

#Roadmap

The framework bindings are the most concrete near-term promotion target. Once their coverage thresholds and release evidence are complete, promotion follows. The beta packages graduate when their respective ADRs are written + locked.

Explore nearby

✎ Edit this page on GitHubΒ·Found a problem? Open an issue β†’Β·How to contribute β†’

On this page

Ask the docs
Ask anything about AgentsKit. Answers come from the docs corpus and cite their sources.