First Steps
This guide will walk you through creating your first Akinon UI extension in minutes. By the end, you'll have a working extension running locally and understand the development workflow.
Prerequisites
Before you begin, ensure you have the following installed:
Node.js 24.5.0 or higher (Download)
A package manager: pnpm (recommended), npm (comes with Node.js), or yarn
A code editor: VS Code/Cursor, Zed, WebStorm, or your preferred editor
Basic knowledge of: React, TypeScript, and modern JavaScript
Verify Your Setup
# Check Node.js version
node --version
# Should output v24.5.0 or higher
# Check npm version
pnpm --versionQuick Start: Create Your First Extension
The fastest way to get started is using create-akinon-app:
pnpm create akinon-app@latest my-first-extensionThis command will:
Prompt you to choose an extension type
Scaffold the project structure
Install dependencies automatically
Set up development tooling
Interactive Setup
You'll see a series of prompts:
Understanding Extension Types
Plugin: Best for widgets, inline tools, or contextual features
Embeds within specific page areas
Receives parameters from the host
Lightweight and focused
Example: Order status widget, quick action toolbar
Fullpage: Best for dashboards, management interfaces, or complex workflows
Takes over the entire content area
Full routing capabilities
Can define menu items
Example: Campaign manager, analytics dashboard
Multi-plugin/Multi-fullpage: Advanced setup for multiple related extensions
Share code between extensions
Single deployment URL
Consistent state management
Development Workflow
1. Start Your Extension
Navigate to your project and start the development server:
Your extension is now running at:
Plugin:
http://localhost:4002Fullpage:
http://localhost:4001
2. Test in Development Shell
Extensions are designed to run inside shell applications. To test yours locally:
The development shell runs at http://localhost:4000 and embeds your extension, simulating the production environment.
Why use the development shell?
Tests communication with the host application
Verifies data sharing and actions
Simulates realistic integration
Enables debugging shell-specific issues
3. Make Your First Changes
Let's customize your extension to understand the structure.
For Plugin Extensions
Open src/components/Content.tsx:
Save the file and watch your browser hot-reload with the changes.
For Fullpage Extensions
Open src/pages/Home/index.tsx:
4. Add a New Component
Let's create a reusable component using Akinon UI Kit:
Edit src/components/UserCard/index.tsx:
Export it from src/components/index.tsx:
Use it in your pages:
Project Structure Explained
Plugin Project Structure
Key Files
src/config.ts Defines your plugin configuration:
src/providers.tsx Sets up React context providers:
shell.config.js Configures the development shell:
Using Akinon UI Kit Components
Your extension has access to Akinon's comprehensive component library. Here are common patterns:
Layout Components
Form Components
Data Display Components
Communicating with the Shell
Accessing Shared Data
The shell provides data to your extension:
Invoking Shell Actions
Request the shell to perform actions:
Navigation
Navigate within the shell application:
Internationalization (i18n)
Your extension supports multiple languages out of the box.
Adding Translations
Edit public/locales/en/translation.json:
Edit public/locales/tr/translation.json:
Using Translations
The shell automatically synchronizes locale changes with your extension.
Testing Your Extension
Running Tests
Writing Tests
Example component test:
Building for Production
When you're ready to deploy:
This creates an optimized build in the dist/ directory:
Deployment
Configure: Configure your application for ACC integration
Host your build: Build and deploy your application with ACC
Related Product: (Optional) Communicate with Akinon team if your extension is not for Omnitron
Next Steps
Congratulations! You've created your first Akinon UI extension. Here's what to explore next:
Dive Deeper
UI Kit Components: Explore the complete component library
UI Protocol Guide: Learn about shell integration and client APIs
Advanced Patterns: Study examples for complex use cases
Hooks & Utilities: Discover custom hooks and utility functions
Common Tasks
Create a multi-page fullpage application
Implement data fetching patterns
Work with forms
Build tables with filtering
Get Help
Check the FAQ for common questions
Review API Reference for detailed documentation
Explore the Glossary for terminology
Troubleshooting
Extension not loading in shell
Ensure your dev server is running (
pnpm dev)Check
shell.config.jshas the correct URLVerify ports are not in use by other applications
Check browser console for errors
Components not styling correctly
Import Akinon fonts:
import '@akinon/fonts-jost-variable'Import UI utilities:
import '@akinon/ui-utils'Ensure
AkinonUIProviderwraps your app inproviders.tsxEnsure all components has the same Ant Design version (see Changelogs)
Cannot communicate with shell
Verify
AppClientProvideris configured with correct settingsCheck
config.tshasforceRedirect: truein developmentEnsure you're using the development shell (
pnpm dev:shell)
Summary
You've learned how to:
✅ Create a new extension with
create-akinon-app✅ Understand project structure and key files
✅ Use Akinon UI Kit components
✅ Communicate with the shell application
✅ Add internationalization
✅ Write and run tests
✅ Build for production
You're now ready to build production-quality extensions for Akinon's platform!
Last updated
Was this helpful?

