OrganisationCommunity org

cap-js-community

Capabilities15

Provides 14
Async processingCAPAsync processingcapabilityDoing work outside the request that triggered it, with a guarantee that it eventually happens — deferred jobs, retries, and periodic work. Distinct from messaging, which is about telling other systems.CachingCAPCachingcapabilityHolding the result of an expensive read so the next one is cheap. This spans four different things people call caching — HTTP response caching, query result caching, remote service response caching, and application-level memoisation. They are not interchangeable, and picking the wrong one is the usual cause of stale-data bugs in multitenant apps.Data federationCAPData federationcapabilityReading data that lives in another system as if it were local — by federating the query, by copying the rows, or by caching what was read. Three different answers to one question, and the choice is about how stale you can afford to be.Feature togglesCAPFeature togglescapabilityTurning behaviour on and off per tenant or per user at runtime, without redeploying, and knowing which toggles are live. System-level switches for delivered objects and runtime flags for unfinished features share the name.Job schedulingCAPJob schedulingcapabilityRunning something later, or on a cadence, without keeping a process alive to do it — a nightly job, a retry in an hour, a report on the first of the month — and knowing afterwards whether it ran.Local developmentCAPLocal developmentcapabilityRunning the whole stack on a laptop against real bindings — the service, the UI and the routing in front of it — without deploying to see a change.Metadata publishingCAPMetadata publishingcapabilityDescribing a service to something other than a human — service metadata for clients, and machine-readable descriptions for registries and discovery.MultitenancyCAPMultitenancycapabilityServing many tenants from one deployment — onboarding, tenant-isolated data, per-tenant schema deployment and the operational tooling around it. It is decided once, before anything is built, and narrows the artifacts in almost every capability downstream: most sharply in [caching](capability:caching) and anything else holding state in process.ODataCAPODatacapabilityExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.Rate limitingCAPRate limitingcapabilityCapping how many requests a service will accept per tenant or per caller, so one consumer cannot exhaust a shared deployment, whether enforced by a policy in front of the application or inside its own process.Schema evolutionCAPSchema evolutioncapabilityGetting a model change into a database that already holds data, in every tenant, without losing any of it. Generating the initial schema and migrating one that already holds data are often treated as the same step.TelemetryCAPTelemetrycapabilitySeeing what a running service did — traces across handlers and database calls, metrics, and correlation that survives an async boundary.TestingCAPTestingcapabilityProving the service still does what it did — against the model and the handlers, without a deployed system and without a database somebody has to keep clean.WebSocketCAPWebSocketcapabilityPushing to a browser that already has the page open, rather than making it ask again — the half of a UI that polling imitates badly.
Demonstrates 1
GeneratorsCAPGeneratorscapabilityGetting from nothing to a project that runs, and from a project that runs to one that has the piece you just decided you need. Two different moments: the first is a one-time decision about layout, the second recurs for the life of the project.

Entries10

Group by10 of 10 entries
EntrySignals
Maintains9
@cap-js-community/business-metricsv1.0.0
none

Business-level metrics from CDS annotations via @cap-js/telemetry

@cap-js-community/commonv0.5.5
Functional boundary

Six CAP features in one package, from replication cache to rate limits

@cap-js-community/event-queuev2.3.2
Functional boundary

Transactional processing of asynchronous and periodic CAP events

@cap-js-community/feature-toggle-libraryv1.3.6
none

Live-updatable feature toggles for CAP, backed by Redis

@cap-js-community/mtx-toolv0.14.0
none

CLI for operating tenants of multitenant CAP applications

@cap-js-community/odata-v2-adapterv1.16.2
none

Exposes a CAP service as OData V2

@cap-js-community/sap-afc-sdkv1.1.0
none

SDK for SAP Advanced Financial Closing scheduling providers on CDS

@cap-js-community/websocketv1.11.3
none

WebSocket and Socket.IO adapter for CDS services

cds-cucumber
none

Gherkin scenarios driving a running CAP service

Maintains: samples, sketches and references1
repository-template
none

Repository template with LICENSE, REUSE and compliance files

Details

History9
  • @cap-js-community/business-metricsdescription.what_it_solves, provides, requires → what it does for telemetry, its two stated properties, and the edge to the plugin it extendsTelemetry curation for the CAP door. The README opens by calling it an extension library for @cap-js/telemetry and lists telemetry enabled in the application configuration as a prerequisite, and the graph held no edge between the two. Read against the README at commit eee01d0.
  • @cap-js-community/commonprovides[capability:local-development].what_it_does, sources, facets → What the local repository serves and what it proxies, the two conditions the README states, three quoted sources and the comparison value for the part of the local stack it starts.capability:local-development curation on 2026-10-15. The edge rested on a link with no quoted sentence, and the README states both halves a reader needs: the apps in the app folder with a ui5.yaml come from the file system and everything else is proxied to the remote repository, with the configuration file in the approuter folder as the prerequisite.
  • @cap-js-community/odata-v2-adapterprovides[odata].facets.protocols, requires → OData V2The option states the protocol it serves for this concern, from its README (docs/concepts/design-roles-and-interfaces.md, P2): the odata facet is what is served, and the adapter serves V2; the V4 the same sentence names is what it translates into, which @sap/cds serves and states. The checker's reading found the runtime the README calls mandatory carried by no edge; it is one now.
  • @cap-js-community/commonprovides, requires → Sourced cache layer, freshness and tenant configuration facets; explicit SQLite production dependencyMaintainer README documents replication configuration and the required production dependency.
  • @cap-js-community/websocketdescription.one_line → A WebSocket adapter for CDS services, speaking either the plain WebSocket protocol or Socket.IO, so a service can push instead of being polled.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • cds-cucumberdescription.one_line → Behaviour-driven tests for CAP applications: Gherkin scenarios that drive a running service rather than assertions written against handlers.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • repository-templatedescription.one_line → The template SAP's own repositories start from — LICENSE, the REUSE dep5 file, a code of conduct and the rest of the compliance furniture, so a new project does not assemble it by hand.Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.
  • @cap-js-community/event-queueverdict → retiredVerdict rings retired. What the ring compressed now lives in readings derived from facts (liveness, compatibility, reach) and in the description fields, so a thing can be dead as a dependency and still worth reading. VISION §9.
  • First entry seenDiscovered via npm registry, GitHub API · cap-js-community, bestofcapjs, capire · plugins, The discovery pass.
For your agent
Ref
actor:cap-js-community
JSON
/actors/cap-js-community.json
MCP
Connecting an agent