Skip to main content

Creating a Mobile Project

This page explains how to create a mobile project with Accel CLI (@intra-mart/accel). For the basic usage of Accel CLI, see Creating a New Project.

Requirements​

ItemContents
Accel CLI2.0.0 or later. Running it with bunx @intra-mart/accel uses the latest version
BunUsed to run Accel CLI and to manage the app's dependencies (Installing Tools)
Node.js / npmv22 or later. Used to run Expo tools. Required even when you use Bun as the package manager
GitUsed for the initial commit made by create-expo and for installing the official Expo skills
NetworkAccess to the npm registry and GitHub

Java (JDK) and Maven, which are used for developing iAP user modules, are not used in a mobile project.

To run the app on a device or emulator, you also need one of the following. For details, see AI Native Development Flow.

  • To build locally: Android Studio (Android) or Xcode (iOS, macOS only)
  • To build with EAS: an Expo account

Creating a New Project​

Navigate to a directory of your choice (e.g., ~/projects), then run the following command:

bunx @intra-mart/accel init my-app

Replace my-app with the name of the project you want to create. Running this command launches the CLI in interactive mode, which asks for the settings. Follow the on-screen instructions to make your selections.

Project type​

Select Mobile project (Expo + smartlime).

o Select the project type
| Choose iAP module development, or development of a mobile app (Expo + smartlime) that works with iAP
| Mobile project (Expo + smartlime)

Project name​

Specify the project name. Lowercase letters, digits, and @ . _ - are allowed, and the name must start with a lowercase letter or a digit.

o Enter project name
Used as the directory name and as the app name (set by create-expo)
Lowercase letters, digits, and @ . _ - are allowed; start with a lowercase letter or a digit (e.g. field-report)
| my-app

iAP version the app works with​

Select the iAP version the app works with. The contents of the deployed assets change with the APIs available.

o Select the iAP version the app works with
| The iAP version the app works with. The deployed assets change with the APIs available
| 2026 Autumn (8.0.40)

Expo SDK​

Select the app's Expo SDK. Only SDKs supported by smartlime are listed.

o Select the Expo SDK
| The SDK targeted by the create-expo template and the deployed assets. Only SDKs supported by smartlime are listed
| Expo SDK 56

Agents to use​

Select the agents to use for development. You can choose from Claude Code and OpenAI Codex, and you can select more than one.

o Select agent
| Instructions and skills for the selected agents are deployed
| Choosing Codex also lets you install the official Expo skills
| claude-code, codex
About GitHub Copilot

GitHub Copilot cannot be selected for a mobile project.

Installing the official Expo skills​

This is shown when you select Codex as an agent. Selecting Yes installs the official Expo skills published by Expo into .agents/skills/.

o Install the official Expo skills?
| Fetched from github.com/expo/skills for Codex and placed in .agents/skills
| Command: ...
| Yes

For Claude Code, a setting that enables the official Expo plugin for Claude Code is deployed instead, so this question is not asked.

Confirming the settings​

Finally, the settings you entered and the list of commands to run are displayed. Check them and select Yes to start creating the project.

o Deployment settings ──────────────────╮
| |
| Project name: my-app |
| Target iAP version: 2026-autumn |
| Expo SDK: 56 |
| Agents: claude-code, codex |
| ... |
| |
| Commands to run: |
| ... |
| |
├───────────────────────────────────────╯
o Create the project with these settings?
| Yes

The init command performs the following steps in order.

  1. Runs Expo's official create-expo to create the app scaffold. create-expo also installs the dependencies and makes the initial Git commit.
  2. Deploys assets such as the smartlime skill set and AGENTS.md.
  3. If you chose to install the official Expo skills for Codex, installs them into .agents/skills/.
About the use of external packages

When creating a mobile project, Accel CLI internally runs external packages such as create-expo. The versions used are determined automatically according to the Expo SDK. Each package behaves according to the specifications of its provider.

After creation​

The deployed assets remain as uncommitted changes. Review them and commit.

cd my-app
git add -A
git commit -m "Add Accel assets"

Project Contents​

A mobile project consists of the files created by create-expo plus the assets deployed by Accel CLI.

my-app
├ src
│ └ app - Directory for screens (Expo Router routes)
├ assets - Icons and images
├ app.json - App settings (name, URL scheme, etc.)
├ package.json - Defines dependencies and scripts such as start
├ .accel
│ └ settings.json - Accel CLI project settings
├ AGENTS.md - Convention file for agents
├ CLAUDE.md - Generated when Claude Code is selected (loads AGENTS.md)
├ .claude - Generated when Claude Code is selected
│ ├ settings.json - Setting that enables the Expo plugin
│ └ skills - smartlime skill set
├ .agents - Generated when Codex is selected
│ └ skills - smartlime skill set and official Expo skills
└ .codex - Generated when Codex is selected
└ config.toml - Expo MCP server settings

For the role of each file, see Skill Sets.

Deploying Assets to an Existing Expo Project​

You can also deploy only the mobile project assets to an existing Expo project. Run the attach command in the project's root directory.

cd my-existing-app
bunx @intra-mart/accel attach

The Expo SDK is determined from the version of expo in package.json. For a project that uses expo, the default project type is a mobile project.

Updating Assets​

To bring the assets up to date, run the update command in the project's root directory. Edited files are handled the same way as in an iAP project (Updating the Template).

bunx @intra-mart/accel update
  • update updates only the assets. It does not update the app's Expo SDK.
  • If you run update after raising the app's Expo SDK, you are asked whether to switch the assets to the ones for the new SDK.
  • The official Expo skills are not managed by Accel CLI. Update them with npx skills update.

Differences from an iAP Project​

CommandHandling in a mobile project
init / attachCreates the project with create-expo. Settings specific to iAP (modules, features, database, artifact ID, etc.) are not asked
updateUpdates the assets. Does not update the Expo SDK
switch / presetOnly the agents can be switched
deployNot available (the app is not deployed to iAP)
About option details

For details such as the options for non-interactive mode, see "Mobile App Development (Expo + smartlime)" in the Accel CLI README.