Skip to main content

Accel Orbit 2026-11-01 Update Details

With the 2026-11-01 update, you can now use AI agents to develop mobile apps that work with iAP as well. We have also reviewed the screen templates generated in the script development model (JSSP) and the validation of the XML imported in tenant environment setup, to reduce the effort needed to fix up generated artifacts.

Highlights of This Update​

  • You can hand the development of mobile apps (iOS / Android) that work with iAP to AI agents (Expo + smartlime, Accel CLI 2.0.0 or later)
  • You can now create and update mobile projects in the VS Code extension as well (Core 0.2.0, bundling Accel CLI 2.0.0; you can also create a new project from the Explorer)
  • We updated the default theme to imds (improving generation accuracy for lists, registration forms, wizards, IM-Workflow, IM-Common Master search, and more)
  • You can now call your own Java processing from JSSP
  • XML validation now matches the way iAP validates XML (fixes correct XML being reported as an error)

Develop Mobile Apps That Work with iAP​

Starting with Accel CLI 2.0.0, you can create a project for a mobile app (iOS / Android) that works with iAP (a mobile project), in addition to a project for iAP user modules. The apps are built with Expo (React Native) and smartlime, the library for working with iAP. You can create an app through dialogue with an AI agent.

What Is smartlime​

smartlime is an SDK for using iAP from mobile apps built with Expo. It is published as the npm package @intra-mart/smartlime (MIT License). It provides, as React components and hooks, the processing that every app working with iAP needs, such as logging in to iAP, storing and refreshing access tokens, and calling iAP APIs.

  • Logging in to iAP — Logs in with OAuth 2.0 (authorization code + PKCE), using iAP as the authorization server. Tokens are stored in the device's secure storage and refreshed automatically. The app never handles iAP user names or passwords.
  • Calling iAP APIs and displaying iAP screens — You can call REST APIs such as those of IM-Workflow with the access token attached. You can also display iAP screens (such as a workflow application screen) inside the app.
  • UI components — A login screen, search screens for users, organizations, and so on, and iAP calendars are provided as @intra-mart/smartlime-ui.

smartlime 3.0.0 supports Expo SDK 56. Do not raise the app's Expo SDK until smartlime supports the new SDK (see Supported Expo SDK).

Creating a Mobile Project and the Deployed Assets​

  • Creating a project — In accel init, select "Mobile project (Expo + smartlime)" as the project type. When you choose the iAP version the app works with and the Expo SDK (currently SDK 56), the assets are deployed onto the app template created with create-expo. You can deploy the assets to an existing Expo project with accel attach. For the procedure, see Creating a Mobile Project.
  • Skills for smartlime — Skills that describe how to use each smartlime feature and the implementation steps are placed. Tell the AI agent what you want to build, and it implements it in the correct way for smartlime by referring to the corresponding skill.
  • Official Expo skills — How to work with Expo is checked against the official Expo skills and documentation. In Claude Code, the official Expo plugin is enabled; in Codex, you can install the official Expo skills when creating the project. The Expo MCP server is also available once you sign in with an Expo account.
  • Supported agents — Claude Code and OpenAI Codex are supported. GitHub Copilot is not available for mobile projects.

The added skills are as follows (for details, see Skill Sets).

SkillWhat it does
smartlime-setupInstall smartlime and make the initial settings for connecting to iAP with OAuth (including what to register for the OAuth client on the iAP side)
smartlime-authLog in and log out, switch screens by login state, and retrieve login user information
smartlime-apiCall iAP REST APIs (such as the IM-Workflow APIs)
smartlime-webviewDisplay iAP screens inside the app (WebView)
smartlime-searchSearch for and select users, organizations, positions, public groups, and roles
smartlime-calendarDisplay iAP calendars (business days and holidays) and select dates
smartlime-assistantConverse with IM-Copilot assistants
smartlime-testingTest code that uses smartlime (Jest)

The iAP that the app works with needs the Mobile Application Integration (jp.co.intra_mart.im_smacolow) module installed and the app registered as an OAuth client (see What iAP Needs and Registering the OAuth Client). For the flow from creating a project to checking that the app works, see Tutorial (Mobile Apps).

We Updated the imds-Compliant Templates​

We updated the imds-compliant screen templates (complete samples and templates) that AI agents use as models when generating screens. They now follow the standard imds screen structure, errors in the templates have been fixed, and they work as they are.

  • Layout — The list, registration form, wizard, import/export, and calendar screens, as well as the IM-Workflow and IM-Common Master search screens, now share a structure in which the header and action buttons stay fixed and only the content scrolls. The height and width of the display area adjust to the theme.
  • List screen — The search field now actually filters the list (previously, the search field was only placed on the screen). The display when there is no data (empty state), the selection of records per page, and the abbreviated display of page numbers follow the imds standard. You move to the edit screen from a link in the first column (for example, the product name).
  • File locations and navigation targets — We fixed the file structure of the list screen and registration form, and the navigation target to the edit screen, which did not match the routing settings.
  • Registration form — Buttons such as register and delete are fixed at the bottom of the screen, so they are always available even for long forms.
  • Registration form API — We fixed an error in which a variable with the same name as an argument was declared again.
  • Import wizard — Selecting files (with a button or by drag and drop), checking the file format, and listing the selected files now work.
  • Export — Selecting the targets now uses the same structure as the list screen (a search field and a table with a fixed header).
  • Portlets — We fixed code that could operate on elements of other portlets when multiple portlets were placed on the same portal screen.
  • Choosing components — We stated explicitly, following the imds Storybook, the criteria for adding the classes for table borders, fixed headers, and row height, the structure of advanced search (popover), and the placement and spacing of buttons.
  • imds structure — We fixed points that differed from the imds reference, such as the class name of the confirmation dialog, the specification of checkbox columns, and the structure of the import result table. Undefined classes (such as imds-text) are no longer used.

We Fixed the IM-Workflow and IM-Common Master Search Screens​

  • IM-Workflow (workflowOpenPage method) — Fixed an issue in which the back button on the approval screen did not work (the form's id did not match the id referenced by the script). We also added a caution that writing a <form> inside <imart type="workflowOpenPage"> nests the forms and they do not work.
  • IM-Workflow (processing modal method) — imWorkflow.transition.afterProcess() is now called after the modal closes, whether the operation was completed or canceled (the templates and the reference had conflicting descriptions). A back button is placed in the screen header and returns to the caller with imWorkflow.transition.returnTo(). On the application screen, pressing Enter no longer reloads the page.
  • IM-Common Master search — The templates for the search dialogs for users, organizations, companies, roles, public groups, and private groups are now screens that work as they are.
    • Fixed code in which the event was not registered on the button that opens the search dialog (it was registered before the screen elements were created).
    • Fixed an error that occurred when the selection result was empty. When it is empty, the value already entered is kept.
    • The display language of the search dialog is now the login user's locale instead of always Japanese.
    • Added a clear button that removes the selected value.
    • Fixed the key used to retrieve the value in the single-selection example in the reference.

Call Your Own Java Processing from JSSP​

We added a skill for implementing, in Java, processing that the standard JSSP APIs cannot do (for example, working with Excel files using Apache POI) and calling it from JSSP. The AI agent creates all the files needed to publish Java processing as a JSSP API (a wrapper).

SkillWhat it does
jssp-im-java-wrapperCreate a wrapper class for calling Java processing from JSSP, a registration file for JSSP, and a type definition (d.ts)
  • Referencing Java classes directly from JSSP with Packages.* is still prohibited by the conventions. Wrappers are not created for processing that the JSSP APIs can do.
  • The registration file is loaded when the server starts. After deploying, restart the server before checking that it works.
  • This skill is placed when you select both the script development model and Java when creating the project.

XML Validation Now Matches the Way iAP Validates XML​

XML validation (xml-validator) now judges XML that describes the settings of roles, authorization policies, menu groups, and masters by whether iAP can actually import it. Previously, even XML in a correct form that iAP can import was reported as an error. As a result, AI agents sometimes changed the form of the XML to clear the error, and importing then failed in tenant environment setup.

  • Fixed incorrect XML validation — XML in the same format as the skill procedures and the samples bundled with iAP no longer fails validation.
  • Forms that iAP cannot import are reported as errors — Because the errors include how to fix them, AI agents correct the XML by following them.
  • Fixed an issue in which the same error could be displayed more than once

The fixed xml-validator (xml-validator-maven-plugin 1.2.0) is used once you update the assets (see How to Update). If you do not update the assets, change the version in the following part of <build> → <plugins> in your project's pom.xml from 1.1.0 to 1.2.0.

<plugin>
<groupId>jp.co.intra_mart.harness</groupId>
<artifactId>xml-validator-maven-plugin</artifactId>
<version>1.2.0</version> <!-- changed from 1.1.0 -->
</plugin>

Other Improvements​

  • <imart> tags and comments — We added to the conventions that an <imart> tag is processed even when written inside an HTML or JavaScript comment, and its value is output to the HTML source. To disable a tag, delete it instead of commenting it out.
  • Screen validation — The validation performed after generating screens (jssp-page-verifier) now also validates the imds structure (validate-imds.js) (only for screens with the imds theme). The check for passing parameters between screens now also covers code that builds link targets in JavaScript.
  • Type checking — The type checking script (check-types.sh) now confirms that the specified target was actually checked. If it could not be checked, the script does not report "no issues"; it shows the cause and exits.
  • Arguments of the validation script — validate-imds.js now stops with an error when given multiple paths (previously, the second and later paths were ignored). To validate multiple files, pass their common parent directory.
  • .gitignore — The entries that the Accel CLI used to append automatically (.accel/runtime/ and node_modules) are now included in the deployed .gitignore from the start.

The changes to the skills and conventions for the script development model (JSSP) are reflected in the assets for all versions from iAP 2025 Spring onward. The skill assets are published here.

We Added a Tutorial for Mobile Apps (Documentation)​

We added Tutorial (Mobile Apps), which explains the flow of creating a mobile app that works with iAP through dialogue with an agent.

PageContents
What Is smartlimeWhat smartlime can do, how it works with iAP, what iAP needs, and the supported Expo SDK
Creating a Mobile ProjectHow to create and update a mobile project with Accel CLI, and the differences from an iAP project
Skill SetsThe convention file (AGENTS.md), the smartlime skill set, and the official Expo skills deployed to a mobile project
AI Native Development FlowIntroducing smartlime, registering the OAuth client, checking login with a development build, and building and distribution

We also added the selection of the project type to Creating a New Project.

Accel CLI 2.0.0 Has Been Released​

  • Mobile projects are now supported — When you run init or attach interactively, you first select the project type (attach preselects a mobile project if package.json includes Expo). When running non-interactively without --project-type, the project is treated as an iAP project, as before.
  • Commands for mobile projects — You can update the assets with update. If you run it after upgrading the app's Expo SDK, it asks whether to switch to the assets for the new SDK. With switch and preset, you can switch only the agents. deploy is not available for mobile projects (see Differences from an iAP Project).
  • Added options — We added --project-type, --expo-sdk, and --expo-skills / --no-expo-skills. For details, see the Accel CLI README.
  • There are no changes to how you use the CLI for iAP projects.
  • If you embed the Accel CLI as a library, there are incompatible changes. The settings type (AccelSettings) now includes the settings of mobile projects, and two required methods were added to UpdatePrompts. For this reason, we raised the major version to 2.

The Visual Studio Code Extension Now Supports Mobile Projects​

In intra-mart e Builder for Accel Platform (Core) 0.2.0, we updated the bundled Accel CLI to 2.0.0. As with the CLI, you can work with mobile projects from the VS Code UI.

  • Creating, updating, and switching mobile projects — When you select the project type at the top of the creation form, the form switches to the input items for mobile projects (such as the Expo SDK). Updating the assets (update) and switching the configuration (switch) are also supported. If you update after upgrading the Expo SDK, a dialog asks whether to switch to the assets for the new SDK.
  • Unavailable operations are hidden — For mobile projects, deploy and build are not shown in the sidebar or the Command Palette.
  • Creating a project from the Explorer — When no folder is open, the Explorer shows a link to create a new project. Select the parent folder to create the project in, and the creation form opens.
  • Other fixes — We fixed an issue where selecting a preset in the form sometimes did not apply its settings. The confirmation screen now shows only the items displayed on the input screen. When a description in the sidebar is truncated, hover over it to see the full text.

There are no changes to the Debug extension or the extension pack.

How to Update from Pre-Release Assets Provided Earlier​

Run the following command in the project root.

bunx @intra-mart/accel@latest update
Caution

When updating from Accel CLI 0.x, specify --asset-ref=production-v1.

If accel update is not available, replace the assets with accel detach → accel attach.

To use jssp-im-java-wrapper added in this release, select the script development model and Java in the feature selection when updating. The procedures and validation for the imds theme are placed when Design System is selected in the feature selection.