Today the Nexa team wants to introduce you to a couple of tools we have created for our community to assist you with building applications on Nexa. We know that some of you may be experienced developers, while others may be brand new to building apps. One of our tools is specifically designed to empower some of our less technical users and make this process easier for all of you, through the use of Nexa AI-Assisted Development tools and AI skills.
In this short guide David Thibodeau will walk you through a quick setup process and explain the basics of AI skills and how to use them. After this guide you will be ready to build a fully functional Nexa application just from a single prompt. Let’s get started.
1. Setup: Clone the Starter Project
Step 1: Head to the Nexa GitLab.
There are two projects that we will look at here.
- Nexa GitLab: https://gitlab.com/nexa/
Step 2: Copy the Nexa AI Skills URL (Optional, if you want to use the skills for any of your own projects. Not necessary for use with the Starter App).
On the main page of the Nexa repos, look for Nexa AI Skills; this is the URL you would copy to clone.
- Nexa AI Skills: https://gitlab.com/nexa/nexaaiskills
Step 3: Copy the starter app URL.
The starter app lives in the examples directory; click on it. This is where you get the URL to copy in order to clone the project.
- Starter app: https://gitlab.com/nexa/examples/starter
Step 4: Clone the Starter repo.
Open up your terminal, navigate to a directory where you want to clone the Starter App, and then run the command:
git clone https://gitlab.com/nexa/examples/starter.git
Then also clone Nexa AI skills:
git clone https://gitlab.com/nexa/nexaaiskills.git
2. Open the Starter and Pull In the Skills
Step 1: Open the starter project in your editor.
The next step is to open up the starter project inside your code editor. Our recommended editor is IntelliJ IDEA or Android Studio, which work well with Kotlin Multiplatform applications, exactly what this starter is. Feel free to use VS Code or any other editor of your choice.
Step 2: Run the syncNexaSkills command.
Once you have the starter application inside your editor, scroll down in the README to the section on Nexa AI Skills, and run the syncNexaSkills Gradle command, which is part of a plugin configured in the build files:
./gradlew syncNexaSkills
When this command is run, it will pull all of the skills from the Nexa AI Skills repository and place them in the root of your project (specifically into .claude/skills/), exactly where the Claude Code agents expect to find them.
3. How to Use the Skills
Step 1: Run Claude Code.
Now that they are contained within your starter repository, go down to the terminal and run Claude Code:
claude
Step 2: Read primeAgentPrompt.md entirely.
The skills directory contains a Markdown file called primeAgentPrompt.md. The first thing to do is tell Claude Code to read primeAgentPrompt.md entirely. We don’t want it to take shortcuts and just skim over that document; it needs to read the whole thing:
read primeAgentPrompt.md entirely
What that priming prompt does is tell the agent where all of these skills are, what the skills are useful for, and it registers those skills within Claude Code. It’s telling it to override things like its tendency to default to Ethereum- or Bitcoin-style code for, say, smart contracts or blockchain requests. Nexa is very different from a lot of these other blockchains, so we don’t want the agent to be confused and just guess at the type of code that’s to be implemented.
Step 3: Confirm the skills are registered.
Once that prompt has run, the agent should be primed. It recognizes that all of these skills exist, and just for confirmation you can type /skills to see that all of them are now registered with the agent:
/skills
That is the complete setup for these AI skills within your starter project. So no explicit need to clone the Nexa AI Skills repository, unless you want a copy of them locally to use for other projects.
4. Running the Starter App
Step 1: Set your IP address (or skip this for single-machine development).
The client and server need to know how to reach each other. Everything defaults to http://127.0.0.1:8001, which already works if you run the server and the client on the same machine, so for local development you can skip straight to Step 4. To reach the app from another device (for example your phone), replace 127.0.0.1 with your machine’s LAN IP (for example 192.168.1.42), keeping the :8001 port, in these files:
-
startercfg.json (externalUrl): the server’s own externally visible URL. This is the main one.
-
serverProtocol.kt (SERVER_URL_API): the server URL compiled into the desktop and mobile clients.
-
devprodconfig.js (SERVER_API_URL): the server URL for the browser client in dev mode.
-
Application.kt (EXTERNAL_URL): the in-code default that startercfg.json overrides.
The starter’s README documents the exact location of each.
Step 2: (Optional) Set a trusted full node.
If you have a trusted full node (a node you run locally, or the specific address of a node you trust), set it in the trustedFullNode and trustedFullNodeElectrum fields in startercfg.json, and indicate whether Electrum is enabled on that node. That lets the app load the token description documents used for assets.
Step 3: Set the default chain.
The default chain is set by DEFAULT_CHAIN in Application.kt, and the starter defaults to ChainSelector.NEXATESTNET. We recommend developing on TestNet, so that if you lose any coins in the process it really doesn’t mean much. Use ChainSelector.NEXA for mainnet, or ChainSelector.NEXAREGTEST if you need to force-mine blocks for certain tests.
Step 4: Run the server.
In a terminal at the project root, start the Ktor server and leave it running in its own terminal:
./gradlew :server:run
It will start up and your blockchain will begin syncing immediately; a full sync can take a while, so the Starter App includes code which will automatically fast-sync the block headers. There is a wallet in the back end of the project, which is completely normal. To run the server the way production does, serving the compiled browser front end itself, use ./gradlew :server:runCombined instead.
Step 5: Run the desktop app.
In a second terminal, with the server still running, launch the desktop client:
./gradlew desktopRun -DmainClass=org.nexa.starter.MainKt
You can also open composeApp/src/desktopMain/kotlin/main.kt in IntelliJ IDEA and click Run. To run the browser client instead, use ./gradlew wasmJsBrowserDevelopmentRun.
5. Vibe Code Your Way to a New Application
Step 1: Provide your Claude code agent with a prompt.
Be descriptive of the features you want. Also point out which of the Starter App’s features you may no longer need. A single prompt is likely sufficient for a simple application. There’s no requirement to provide all the technical terminology; if you understand the Nexa blockchain to a high degree, specific terms may help the agent work more efficiently - but basic terminology will still suffice. The more complex your app idea becomes, the more it helps to prepare a comprehensive high-level feature spec to your agent to assist in its planning. Complex apps will likely require multiple prompts and interactions between yourself and your agent. As you level up your knowledge of the Nexa blockchain and become more precise with your prompts, an agent given these tools can assist you with creating almost anything functionally possible on the Nexa blockchain!
Wrapping Up
All in all, we’re glad to be bringing AI-assisted development tools to you. It is well within the reach of anybody to build applications on Nexa with the power of AI, and we’re excited to see the ecosystem applications that many of our users may bring forward as a result.
Be on the lookout for more helpful content about building on Nexa. We will be maintaining this starter application and adding to the Nexa AI Skills, so keep an eye out; they’re good to clone and use as is, and any updates will be pushed to those repositories.
Special thanks to David Thibodeau on the Nexa team, who created these tools and the video walkthrough this guide is based on. That’s it for today, and happy coding!
Sources & Useful Links
-
Build On Nexa: https://build.nexa.org
-
Nexa AI Skills: https://gitlab.com/nexa/nexaaiskills
-
Starter App: https://gitlab.com/nexa/examples/starter
-
Nexa Developer Support: https://t.me/nexa_dev
-
Nexa Discord: https://discord.com/invite/WJhWUEYSse




