whatisgithub

What is akita?

salesforce/akita — explained in plain English

Analysis updated 2026-07-03

3,676TypeScriptAudience · developerComplexity · 3/5Setup · moderate

In one sentence

Akita is an archived TypeScript state management library for Angular, React, and Vue apps, built on top of RxJS. The team no longer maintains it and recommends their newer Elf library instead, but the code remains a useful reference for Observable Data Store patterns.

Mindmap

mindmap
  root((Akita))
    What it does
      State management library
      Observable Data Stores
    Tech
      TypeScript
      RxJS
    Design Patterns
      Flux-inspired stores
      Redux immutability rules
    Status
      No longer maintained
      Elf is the replacement
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Read the Akita source code to understand how Observable Data Stores combine Flux and Redux patterns with RxJS

USE CASE 2

Migrate an existing Akita-based Angular project by studying its patterns before switching to the recommended Elf library

USE CASE 3

Use Akita as a reference implementation for building state management utilities with RxJS observables

What is it built with?

TypeScriptRxJSAngularJavaScript

How does it compare?

salesforce/akitacodeforreal1/compressophiresky/sql.js-httpvfs
Stars3,6763,6773,677
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderateeasymoderate
Complexity3/51/53/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Library is archived, install it only for migrating existing projects, use Elf for new ones.

So what is it?

Akita is a TypeScript library for state management in JavaScript applications. State management refers to a pattern for keeping track of data that changes over time in a web application, such as what a logged-in user has in their cart, which items are loaded from a server, or which view is currently active. Akita was designed to work with Angular, React, Vue, or plain JavaScript. The library is built on top of RxJS, which is a toolkit for working with streams of data that change over time. Akita takes ideas from two earlier patterns: Flux, which uses separate data stores for different parts of an application, and Redux, which requires data to be updated in a controlled, immutable way. Akita combines these with RxJS's observable streams to create what it calls Observable Data Stores. The README states that the library is no longer maintained and advises against using it in new projects. The team behind it has released a newer solution called Elf, which they recommend instead. The README links to the Elf documentation for anyone looking for an actively supported alternative. When it was active, Akita aimed to reduce the amount of repetitive setup code that other state management libraries required, while still providing tools suitable for both small and large applications. A command-line tool, a documentation site, and a sample application were all available to help developers get started. The project was originally developed at Datorama before the repository moved to the Salesforce GitHub organization.

Copy-paste prompts

Prompt 1
I have an Angular app using Akita for state management. Help me migrate the store, query, and service pattern to the newer Elf library step by step.
Prompt 2
Show me how to create an Akita entity store in TypeScript that tracks a list of items with loading state and error handling.
Prompt 3
How does Akita's Observable Data Store pattern differ from Redux, and which Elf equivalent replaces each Akita concept?

Frequently asked questions

What is akita?

Akita is an archived TypeScript state management library for Angular, React, and Vue apps, built on top of RxJS. The team no longer maintains it and recommends their newer Elf library instead, but the code remains a useful reference for Observable Data Store patterns.

What language is akita written in?

Mainly TypeScript. The stack also includes TypeScript, RxJS, Angular.

How hard is akita to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is akita for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.