Package Exports
- @agile-ts/core
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@agile-ts/core) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme

Global, simple, spacy State and Logic Framework

// -- core.js ------------------------------------------
// Let's start by creating an Instance of AgileTs
const App = new Agile();
// Now we are able to build our first State π
const MY_FIRST_STATE = App.createState("Hello Stranger!");
// -- myComponent.whatever ------------------------------------------
// Finally, we bind our just created State to our desired UI-Component
// And wolla its reactive. Everytime the State mutates the Component gets rerendered
const myFirstState = useAgile(MY_FIRST_STATE); // returns value of State ("Hello Stranger!")
To find out more checkout our documentation.
β³οΈ Sandbox
Test AgileTs yourself, it's only one click away. Just select your preferred Framework below.
- React
- Vue (coming soon)
- Angular (coming soon)
More examples can be found in the Example Section.

AgileTs is a global, simple, well-tested State Management Framework implemented in TypeScript. It's more flexible and boilerplate-free than frameworks like Redux and has a powerful approach to reducing the codebase size through a centralized memory design pattern. The philosophy behind AgileTs is simple:
π Straightforward
Write minimalistic, boilerplate free code that captures your intent.
Some straightforward syntax examples:
- Store State in any Storage, like Local Storage
MY_STATE.persist("storage-key")
- Create a reactive Array of States
const MY_COLLECTION = App.createCollection(); MY_COLLECTION.collect({id: 1, name: "Frank"}); MY_COLLECTION.collect({id: 2, name: "Dieter"});
- Mutate and Check States with simple Functions
MY_STATE.undo(); // Undo latest change MY_STATE.is({hello: "jeff"}); // Check if State has the Value '{hello: "jeff"}'
π€Έβ Flexible
- Works in nearly any UI-Layer. Check here if your preferred Framework is supported too.
- Surly behaves with the workflow which suits you best. No need boilerplate code.
- Has 0 external dependencies
π― Easy to Use
Learn the powerful tools of AgileTs in a short amount of time. A good place to start are our Quick Start Guides or if you are no fan of following any tutorial, checkout your Examples.

To properly use AgileTs, in a UI-Framework we need to install two packages.
The Core Package, which acts as the brain of AgileTs and manages all our States
npm install @agile-ts/core
and a fitting Integration for our preferd UI-Framework. In my case the React Integration. Check here if your desired Framework is supported, too.
npm install @agile-ts/react

Sounds AgileTs interesting to you? Checkout our documentation, to learn more. And I promise you, you will be able to use AgileTs in no time. In case you have any further questions don't mind joining our Community Discord.

Get a part of AgileTs and start contributing. We welcome any meaningful contribution π To find out more checkout the CONTRIBUTING.md.

Name | Latest Version | Description |
---|---|---|
@agile-ts/core | Brain of Agile | |
@agile-ts/react | React Integration | |
@agile-ts/api | Promise based Api | |
@agile-ts/multieditor | Simple Form Manager | |
@agile-ts/event | Handy class for emitting UI Events |

AgileTs is inspired by MVVM Frameworks like MobX and PulseJs.