MCPcopy Index your code
hub / github.com/actionhero/actionhero

github.com/actionhero/actionhero @v29.3.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v29.3.4 ↗ · + Follow
530 symbols 1,055 edges 155 files 17 documented · 3%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Actionhero

The reusable, scalable, and quick node.js API server for stateless and stateful applications


Actionhero Logo

NPM | Web Site | Latest Docs | GitHub | Slack | Twitter

NPM Version Node Version NPM Dependency Status Test Chat

Who is the Actionhero?

Actionhero is a multi-transport API Server with integrated cluster capabilities and delayed tasks. The goal of actionhero is to create an easy-to-use toolkit for making reusable & scalable APIs for HTTP, WebSockets, and more. Clients connected to an actionhero server can consume the api, consume static content, and communicate with each other. Actionhero is cluster-ready, with built in support for background tasks, 0-downtime deploys, and more. Actionhero provides a simple Async/Await API for managing every type of connection and background task.

Currently actionhero supports the following out of the box...

... and you can also make your own servers and transports.

Quick Start

# Generate a new Project
npx actionhero generate
npm install
npm run build
npm run dev # <-- I automatically notice changes and restart, as well as compiling .ts files

# Use the actionhero CLI
(npx) actionhero generate action --name my_action
(npx) actionhero generate task --name my_task --queue default --frequency 0

# Test
npm test

# To deploy your app
npm run build
npm run start

Your new project will come with example actions, tests, and more.

Or deploy a free API server now:

Deploy to Heroku

Learn More 📚

In-depth Tutorials 🎓

Core Components

Server Types

Testing, Deployment, and Operations

Sample Projects

Who?

  • Many folks have helped to make Actionhero a reality.
  • If you want to contribute to actionhero, contribute to the conversation on github and join us on slack

Thank you to all of Actionhero's contributors!

image of contributors

Contributing

License

Apache 2.0

Dedication

Technology is a powerful force in our society. Data, software, and communication can be used for bad: to entrench unfair power structures, to undermine human rights, and to protect vested interests. But they can also be used for good: to make underrepresented people’s voices heard, to create opportunities for everyone, and to avert disasters. This project is dedicated to everyone working toward the good.

Inspired by Martin Kleppmann

Extension points exported contracts — how you extend this code

ConnectionMiddleware (Interface)
(no doc)
src/initializers/connections.ts
CacheObject (Interface)
(no doc)
src/modules/cache.ts
Input (Interface)
(no doc)
src/classes/input.ts
ActionheroConfigInterface (Interface)
(no doc)
src/config/websocket.ts
ConnectionsApi (Interface)
(no doc)
src/initializers/connections.ts
CacheOptions (Interface)
(no doc)
src/modules/cache.ts
ActionheroConfigInterface (Interface)
(no doc)
src/classes/config.ts
ActionheroConfigInterface (Interface)
(no doc)
src/config/tasks.ts

Core symbols most depended-on inside this repo

log
called by 77
src/modules/log.ts
start
called by 53
src/servers/web.ts
runAction
called by 50
src/classes/actionProcessor.ts
destroy
called by 42
src/classes/connection.ts
verbs
called by 41
src/classes/connection.ts
client
called by 16
src/modules/cache.ts
safeGlobSync
called by 15
src/modules/utils/safeGlob.ts
completeAction
called by 10
src/classes/actionProcessor.ts

Shape

Method 188
Function 179
Class 124
Interface 36
Enum 3

Languages

TypeScript100%

Modules by API surface

src/modules/task.ts31 symbols
__tests__/core/tasks/tasks.ts26 symbols
src/servers/web.ts25 symbols
src/modules/cache.ts23 symbols
src/classes/actionProcessor.ts19 symbols
src/initializers/specHelper.ts18 symbols
src/classes/process.ts16 symbols
src/servers/websocket.ts15 symbols
src/modules/chatRoom.ts14 symbols
src/initializers/tasks.ts14 symbols
src/classes/connection.ts13 symbols
__tests__/core/tasks/fullWorkerFlow.ts13 symbols

For agents

$ claude mcp add actionhero \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact