Getting Started with AI Development
Get your AI tool connected to Eclipse in two steps, then run a few prompts to confirm everything is working before you start building.
Prerequisites: sandbox credentials from the Eclipse onboarding team. See Sandbox Environment if you don't have these yet.
Step 1 — Connect the Eclipse MCP Server
The MCP server gives your AI tool live access to Eclipse API documentation and platform context. Follow the one-time setup for your tool here: MCP Setup →
Step 2 — Load the Eclipse Skills
Paste this prompt into your AI tool at the start of any Eclipse development session. Fill in your sandbox credentials before sending.
Before we start, fetch each URL below and save it as a named skill file in the project's AI assistant commands directory, formatted as markdown, so it is persistent and reusable across sessions without re-fetching:
- Authentication: https://developer.eftcorp.com/docs/aiauthentication
- Customer Management: https://developer.eftcorp.com/docs/customer-management
- Wallet Management: https://developer.eftcorp.com/docs/wallet-management
- Card Management: https://developer.eftcorp.com/docs/card-management
- OpenAPI usage guide: https://developer.eftcorp.com/docs/openapi
- Admin Portal Portlets: https://developer.eftcorp.com/docs/portlets
Also load this API Reference:
https://eclipse-java-sandbox.ukheshe.rocks/openapi
If you are not able to persist skills in this tool please fetch and summarize the documents and keep them in the current conversation context for reference.
My Eclipse sandbox details:
- Base URL: https://eclipse-java-sandbox.ukheshe.rocks/eclipse-conductor/
- Tenant ID: {tenantId}
- Login: {identity}
- Password: {password}
Confirm when you have loaded everything and are ready to help me build on Eclipse.
Credential SecurityUse sandbox credentials only. This prompt is for development and testing — never substitute production credentials. Treat your sandbox password as a throwaway value and rotate it if you have shared it in any AI session.
Do not paste real passwords into AI prompts. Most AI tools retain conversation history and may use message content for model improvement. Credentials submitted in a prompt are no longer confidential.
Best practices for credentials with AI tools:
- Use short-lived JWTs instead of username/password wherever the AI tool supports it
- Store credentials in environment variables or a secrets manager — never hard-code them in prompts or committed files
- Revoke and rotate any credential shared in a prompt session as soon as the session ends
Test 1 — Basic: Check what's on my tenant
A simple question to confirm the MCP server is connected and returning live data.
What wallet types are available on my tenant? For each one, tell me the name,
currency, and whether it supports card issuance.
You should get a list drawn from your live tenant configuration. If the AI makes something up or says it can't access that information, check your MCP connection.
Test 2 — Intermediate: Look something up in the API
Confirms the OpenAPI spec is loaded and the AI is reading real field definitions rather than guessing.
I want to create a new customer via the API. What fields do I need to include in
the request body? Which ones are required, and what format does the phone number
have to be in?
The response should include the exact field names from the spec (firstName, lastName, phone1, nationalIdentityNumber, etc.) and the phone format rule (digits only, no + prefix). Any invented field names mean the spec isn't loaded.
Test 3 — Advanced: Build something real
Confirms the AI is generating code that will actually work against the Eclipse APIs.
Build me a standalone HTML page — single file, no build step required — that lets
me log in to my Eclipse sandbox and then shows a live list of all customers on my
tenant with their wallet balances.
Design requirements: this should look like it came out of Lovable or Linear —
premium SaaS quality. Use Inter or a similar clean sans-serif, a dark navy header,
card-based layout with subtle shadows, status badges with colour coding, and smooth
hover states throughout. No Bootstrap, no basic tables — think modern fintech dashboard.
Open the file in a browser, enter your sandbox credentials, and you should see your real customer data. This is the full loop working: MCP context + OpenAPI field names + Authentication skill + live API calls.
Go Further — Full Customer Onboarding Application
Once the tests pass, use this prompt to generate a complete onboarding application.
Using the Eclipse skills and OpenAPI spec you've already loaded, build a complete
standalone customer onboarding application as a single HTML file.
The application should have three sections:
1. LOGIN SCREEN
Fields for base URL, tenant ID, identity and password.
Authenticates with Eclipse and stores the JWT for subsequent calls.
2. CUSTOMER DASHBOARD
A card-based grid showing all customers on the tenant.
Each card shows the customer's name, phone, email, status, and total wallet balance.
An "Add Customer" button opens the onboarding wizard.
3. ONBOARDING WIZARD — 4 steps with a progress bar
Step 1: Customer details — first name, last name, phone (digits only, no +),
email, national identity number
Step 2: Documents — selfie photo and identity document, uploaded to Eclipse
Step 3: KYC — automatically run identity verification when the user reaches
this step. Show a spinner while it's in progress. If it passes, show
a clear green success state and let the user continue. If it fails,
show which specific checks didn't pass and block progression — the
user cannot proceed to wallet setup until KYC is approved.
Step 4: Wallet — show all wallet types available on the tenant as selectable
cards. Types the customer is not eligible for are displayed but greyed
out with a "not available" label so the user understands their options.
The user picks an eligible type and confirms. The app creates the
wallet and shows a success screen with the new wallet details.
Design requirements — this must look like a premium fintech product, not a tutorial:
- Inter font, dark navy (#050C43) header bar with a subtle logo mark
- Full-height sidebar layout with smooth section transitions
- Customer cards with soft shadows, avatar initials, and colour-coded status pills
- Wizard progress bar with animated step indicators and smooth slide transitions
between steps
- Inputs with floating labels or clean labelled fields, focus rings in blue (#007AFF)
- All buttons have hover lift animations; destructive actions require a confirmation
- Skeleton loading placeholders while API calls are in flight
- Error messages surface the Eclipse traceId in a styled alert banner, not an alert()
- The overall aesthetic should match what you'd expect from Lovable, Linear, or Stripe —
clean whitespace, precise typography, intentional colour use
All API calls go directly from the browser using the JWT. No frameworks, no build step.
Expected: a single .html file ready to open in a browser. Point it at your sandbox and it will create real customer records.
Go Further — Customer Card Management Application
Use this prompt to generate a complete customer self-service card management portal — wallets, cards, transactions, profile, and settings in a single file.
Using the Eclipse skills and OpenAPI spec you've already loaded, build a complete
standalone customer card management application as a single HTML file.
The application should provide a full customer self-service experience for managing
wallets, cards, transactions, and profile data using Eclipse APIs.
1. LOGIN SCREEN
Fields for base URL, tenant ID, identity and password.
Authenticates with Eclipse and stores the JWT for subsequent calls.
Session persists until logout; JWT is attached to all API requests.
2. CUSTOMER DASHBOARD
Display the logged-in customer's profile summary: name, status, contact details,
and KYC status.
Show a financial overview:
- Total wallet balance across all wallets
- Number of wallets
- Number of active and blocked cards
- Recent activity feed (wallet + card transactions combined)
Provide navigation to: Wallets, Cards, Transactions, Profile, Settings, Activity Feed.
Include a unified recent activity panel showing the latest transactions and system events.
3. WALLETS
Display all wallets linked to the customer. Each wallet shows wallet name/type,
status, available balance, current balance, and currency.
Wallet detail view: full transaction history with search and filtering by date,
type, amount, and reference. Include a transaction detail view.
Include only wallet actions that are supported by the Eclipse APIs — do not
assume any functionality not present in the spec.
4. CARDS
Display all cards linked to customer wallets. Each card shows the masked PAN,
card type, status, expiry date, and linked wallet.
Card detail view: full card information, lifecycle actions where supported
(freeze, unfreeze, block, replace), and card limits and controls if available.
5. CARD MANAGEMENT
Allow card lifecycle operations based strictly on API capabilities:
freeze/unfreeze, block, and replace if supported.
All destructive actions require confirmation and immediate UI updates after
the API response.
6. CARD PIN MANAGEMENT
If supported by the Eclipse APIs: set PIN, change PIN, reset PIN.
Include masked PIN input fields, a confirmation step, and inline validation
with clear success/failure states.
7. TRANSACTIONS
Unified transaction view across wallets and cards.
Each entry shows: merchant/description, amount and currency, date and time,
status, and reference.
Include search, filtering (date, amount, wallet/card, status), pagination if
supported by the API, and a transaction detail view.
8. PROFILE
Display customer profile information. Allow updates if supported by the API:
email, phone number, preferences.
Show: customer identifiers, KYC status, account status.
9. SETTINGS
Logout, session management, theme toggle (light/dark), notification preferences
if supported, and export of profile and transaction data if supported.
10. ACTIVITY FEED
Unified timeline of wallet transactions, card events, card status changes, and
profile updates. Include filters by type, wallet, card, and date range.
GLOBAL BEHAVIOUR:
- All API calls must use JWT authentication.
- All endpoints must come from the Eclipse OpenAPI spec and loaded skills — do not
invent any endpoints.
- Handle missing or unsupported capabilities gracefully.
- Display the traceId in all error states inside a styled error banner — never use alert().
- The UI must always reflect real API responses.
DESIGN REQUIREMENTS — must look like a premium fintech product, not a tutorial:
- Inter font
- Dark navy application shell (#050C43)
- Full-height sidebar navigation
- Smooth transitions between sections
- Card-based UI with soft shadows and modern spacing
- Skeleton loaders during API calls
- Toast notifications for success states
- Slide-over drawers for detail views
- Inline validation errors
- Hover lift animations on interactive elements
- Desktop-first responsive layout
- The overall aesthetic should match Stripe, Wise, Revolut, Mercury, or Linear
TECHNICAL REQUIREMENTS:
- Single self-contained HTML file
- Vanilla HTML, CSS, and JavaScript only — no frameworks or build tools
- Centralised API client using async/await
- JWT attached automatically to all requests
- OpenAPI spec is the source of truth for endpoints
- Gracefully handle missing or optional API capabilities
- Clean, structured code
Expected: a single .html file ready to open in a browser. Log in with your sandbox credentials and you will see real wallet, card, and transaction data for the authenticated customer.
Advanced: Build an Admin Portal Portlet
A portlet is a self-contained HTML page that appears as a native section in the Eclipse Admin Portal navigation. The portal handles authentication automatically — when a portal user opens a portlet, a signed JWT is injected via a ?token= URL parameter.
Get the official template first. In the Admin Portal, select your tenant, then go to Portlets → Create New. The dialog has a Download Default Template button — this gives you the exact HTML starting point with the correct design system, auth infrastructure, and Tailwind config already wired in.
Give the template to your AI tool and use this prompt to build from it:
I've attached the Eclipse portlet template. Using the Admin Portal Portlets skill you've
already loaded, extend this template into a complete portlet that displays a searchable,
paginated list of wallets on my tenant.
Include:
- 4 stat cards at the top (total wallets, active count, total balance, suspended count)
- Search input and filter chips in the table header
- Row-level action buttons to view wallet detail and copy the wallet ID
- Skeleton loading rows while fetching, and an empty state if the list is empty
tenantId: {tenantId}
Once the AI returns the modified file, register it back in the portal: Portlets → Create New, upload the HTML file, give it a name and description, and save. It appears in the navigation immediately.
To build any portlet from scratch, describe your use case:
Using the Admin Portal Portlets skill, build an Eclipse portlet for [describe your use case].
Primary data entity: [wallet / customer / payment / card]
tenantId: {tenantId}
NoteAlways start from the downloaded template rather than asking the AI to generate the full file from scratch — the template contains the complete auth block and design tokens that every portlet requires. Do not ask the AI to modify the auth block or CDN imports.
Advanced: Build a Plugin
Plugins extend Eclipse at runtime without rebuilding or redeploying any service. You write a JAR, upload it through the Plugin API, and Eclipse hot-reloads it within 10 seconds. Plugins can listen on platform events (wallet transfers, payments, user creation), replace built-in components (wallet types, payment gateways), run scheduled batch jobs, or supply services such as FX rates and SMS delivery.
The plugin developer guide is not loaded in Step 2 by default — load it first:
Fetch and save this document as a named skill in the project's AI assistant commands
directory, formatted as markdown:
- Eclipse Plugin Developer Guide: https://developer.eftcorp.com/docs/developing-eclipse-plugins
Confirm when loaded and summarise what plugin types are available.
Once loaded, use this prompt to build your first plugin:
Using the Eclipse Plugin Developer Guide skill, create a complete Java Maven plugin project
that listens on the wallet.postWalletTransfer injection point and logs a summary of each
completed transfer.
Requirements:
- @PluginDescriptor name: "transfer-logger"
- @Singleton handler class with the @OnNamedInjectionPoint method, receiving
@Named("from") IWallet, @Named("to") IWallet, and @Named("history") List<WalletHistory>
- Full pom.xml: parent com.ukheshe:eclipse, packaging jar, Java 25
- Do not bundle any com.ukheshe.* classes — they are provided by the platform
Also provide the curl commands to build the JAR and deploy it to sandbox as a global plugin.
Build with mvn package -DskipTests, then deploy using the curl commands the AI provides. The plugin goes live within 10 seconds.
NotePlugin code runs in a restricted class loader. Reflection, file I/O, sockets, threads, and
System/Runtimeare blocked by the sandbox. Use the injectedEntityManager,RequestContext, and REST clients instead — the guide covers exactly what is available for injection.
Something Not Working?
If the generated code doesn't behave as expected, just tell the AI what went wrong and ask it to fix it.
For example:
- "The login isn't working — I'm getting a 401 error. Fix it."
- "The customer list isn't loading. The console shows a CORS error."
- "The wallet balance is showing as undefined. Fix the display."
- "Step 3 of the wizard isn't progressing after KYC passes. Debug and fix."
Next Steps
| Topic | Where to go |
|---|---|
| Full skills reference | Skills Library → |
| Authentication options (PKI, TOTP) | Authentication Skill → |
| Card issuance | Card Management Skill → |
| Payments and withdrawals | Payment & Withdrawal Skill → |
| OpenAPI spec reference | Eclipse OpenAPI Spec → |
