Get started

  • Choose your path

How do you want to start?

Command line

Clone, build and run an agentic AI project from within your local terminal.

AI-assisted

Prompt your AI assistant (Cursor, Qodo, Copilot, Devin, Windsurf) to scaffold and test Akka services and their components.

Or, start with the Akka Libraries to engineer a distributed system with fine-grained control over currency, messaging, clustering, and resilience.

AI-assisted

In this example we are using Qodo.ai.

Clone the following Akka SDK project.

git clone https://github.com/akka-samples/travel-agent.git
cd travel-agent

Download this file and unzip it into travel-agent/akka-context/. This provides the AI with Akka SDK specific knowledge.

Install the Qodo IntelliJ extension.

Open the project in IntelliJ, as well as the Qodo chat prompt.

Paste our coding guidelines into the prompt.

Paste the following into the Qodo prompt and accept the recommended code changes:

In the TravelPlannerEndpoint,create a new http endpoint called /trips/trip-id/cost.
In that method, first, retrieve the travel plan by the passed in trip id.
From the travel plan, summarize the dailyEstimatedCost for all days.
Calculate this inline in the getTripCost.
If the returned trip is null or causes an IllegalArgumentException then the response should say that it was not found and may still be generating - try again later.
Remove any duplication that might have been generated.

Get an OpenAI key and run:

export OPENAI_API_KEY='replace with your key here'
mvn clean compile exec:java

In a new terminal, create a user and generate a travel plan:

curl localhost:9000/users/user-123 \
  --header "Content-Type: application/json" \
  -XPOST \
  --data '{"name":"John Traveler","email":"john@example.com"}'

curl localhost:9000/travel-planner/create \
  --header "Content-Type: application/json" \
  -XPOST \
  --data '{
    "userId": "user-123",
    "destination": "Paris, France",
    "startDate": "2025-06-15",
    "endDate": "2025-06-22",
    "budget": 2000.00
  }'

Copy the output and ask Qodo to generate a curl for the new endpoint we just implemented:

Give me a curl to call this endpoint using the port 9000 and the output [PASTE OUTPUT HERE].

Copy the generated curl and run it in the terminal to see the cost of the generated trip.

Docs and sample prompts for AI-assisted coding with the Akka SDK.

Run the Akka local console

After your agentic service is running, you can inspect it using the Akka CLI.

Install the CLI by following the Akka CLI documentation.

Once installed, inspect your service with:

Run the Akka local console:

akka local console

View the current state and event log of your service at http://localhost:3000/

Command line

First, you will need an OpenAI key. Then, clone and run the Akka SDK project:

git clone https://github.com/akka-samples/travel-agent.git
cd travel-agent

export OPENAI_API_KEY='key here'
mvn compile exec:java

In a new terminal, create a user:

curl localhost:9000/users/user-123 \
  --header "Content-Type: application/json" \
  -XPOST \
  --data '{"name":"John Traveler","email":"john@example.com"}'

Create a travel plan:

curl localhost:9000/travel-planner/create \
  --header "Content-Type: application/json" \
  -XPOST \
  --data '{
    "userId": "user-123",
    "destination": "Paris, France",
    "startDate": "2025-06-15",
    "endDate": "2025-06-22",
    "budget": 2000.00
  }'

Once the trip was generated, get the trip as human readable output:

curl localhost:9000/travel-planner/trips/<tripId>/as-text

Run the Akka local console

After your agentic service is running, you can inspect it using the Akka CLI.

Install the CLI by following the Akka CLI documentation.

Once installed, inspect your service with:

Run the Akka local console:

akka local console

View the current state and event log of your service at http://localhost:3000/

Choose your language?

Java example

Download the sample code and unzip it.

cd akka-sample-sharding
mvn -pl killrweather compile exec:java

This will start an akka cluster with three nodes running in a single jvm.

Interact with the app in a different terminal window:

curl -XPOST http://localhost:12553/weather/62 \
  -H "Content-Type: application/json" \
  --data '{
    "eventTime": 1579106781, 
    "dataType": "temperature", 
    "value": 10.3
  }'

curl "http://localhost:12553/weather/62?type=temperature&function=average"

To learn more about this quickstart, please take a look at the sample repository.


Scala example

Download the sample code and unzip it.

cd akka-sample-sharding
sbt killrweather/run

This will start an akka cluster with three nodes running in a single jvm.

Interact with the app in a different terminal window:

curl -XPOST http://localhost:12553/weather/62 \
  -H "Content-Type: application/json" \
  --data '{
    "eventTime": 1579106781, 
    "dataType": "temperature", 
    "value": 10.3
  }'

curl "http://localhost:12553/weather/62?type=temperature&function=average"

To learn more about this quickstart, please take a look at the sample repository.