local-26ai.sh create-user apexdev
Documents % mkdir emp-crud
Documents % cd emp-crud
emp-crud %
emp-crud % git init
Initialized empty Git repository in /Users/**********/Documents/emp-crud/.git/
emp-crud %
emp-crud % mkdir applications
emp-crud %
name: emp-crud
version: 0.1.0
description: Oracle APEX 26.1のAPEXlangを使ってアプリケーションを作成する。
author: Yuji
dependencies:
apm:
# Oracle Database Skills
- git: https://github.com/oracle/skills
path: db
ref: main
# Oracle APEX Skills
- git: https://github.com/oracle/skills
path: apex
ref: main
scripts: {}
emp-crud % apm install --target codex
[>] Installing dependencies from apm.yml...
[>] Resolving skills-db...
[>] Resolving skills-apex...
[i] Targets: codex (source: --target flag)
[+] github.com/oracle/skills/apex#main #main @11e528de
|-- Skill integrated -> .agents/skills/
[+] github.com/oracle/skills/db#main #main @11e528de
|-- Skill integrated -> .agents/skills/
[i] Added apm_modules/ to .gitignore
[*] Installed 2 APM dependencies in 3.2s.
emp-crud %
APEXアプリケーションを作成するにあたって、データベースから情報を取得できるようにSQLclのMCPサーバーを構成します。また、コマンドラインからSQLclを起動したときに、データベースへのネットワーク接続を許可します。
[mcp_servers.oracle-apexdev]
command = "/opt/homebrew/Caskroom/sqlcl/26.1.2.132.1334/sqlcl/bin/sql"
args = [ "-mcp", "-R", "4"]
id = ""
[sandbox_workspace_write]
network_access = true
> You are in /Users/__________/Documents/emp-crud
Do you trust the contents of this directory? Working with untrusted contents comes with higher risk of
prompt injection. Trusting the directory allows project-local config, hooks, and exec policies to
load.
› 1. Yes, continue
2. No, quit
Press enter to continue
1. MCPサーバーoracle-apexdevで、データベースlocal-26ai-apexdevに接続してください。
2. local-26ai-apexdevはユーザーapexdevで接続されています。これはAPEXワークスペースAPEXDEVのパーシング・スキーマです。
3. スキーマAPEXDEVには表EMPが存在します。
4. APEXlangのスキルを参照して、表EMPの一覧を表示する対話モード・レポートのページと、従業員の作成、更新、削除ができるフォームを持つAPEXアプリケーションEMP_CRUDを作成してください。
5. アプリケーションはディレクトリapplications以下にEMP_CRUDとして作成してください。
6. アプリケーションのインポートはMCPサーバーではなく、applications/EMP_CRUDに移動した後に、"sql -name local-26ai-apexdev"でSQLclを起動し、"apex import"を実行することで、APEXアプリケーションのインポートを行なってください。
╭───────────────────────────────────────────────────╮
│ >_ OpenAI Codex (v0.130.0) │
│ │
│ model: gpt-5.4-mini medium /model to change │
│ directory: ~/Documents/emp-crud │
╰───────────────────────────────────────────────────╯
Tip: GPT-5.5 is now available in Codex. It's our strongest agentic coding model yet, built to reason
through large codebases, check assumptions with tools, and keep going until the work is done.
Learn more: https://openai.com/index/introducing-gpt-5-5/
› 1. MCPサーバーoracle-apexdevで、データベースlocal-26ai-apexdevに接続してください
。
2. local-26ai-apexdevはユーザーapexdevで接続されています。これはAPEXワークスペースAPEXDEVのパーシン
グ・スキーマです。
3. スキーマAPEXDEVには表EMPが存在します。
4. APEXlangのスキルを参照して、表EMPの一覧を表示する対話モード・レポートのページ
と、従業員の作成、更新、削除ができるフォームを持つAPEXアプリケーションEMP_CRUDを作成してください。
5. アプリケーションはディレクトリapplications以下にEMP_CRUDとして作成してくださ>い。
6. アプリケーションのインポートはMCPサーバーではなく、applications/EMP_CRUDに移>
動した後に、”sql -name local-26ai-apexdev”でSQLclを起動し、apex importを実行する
ことで、APEXアプリケーションのインポートを行なってください。
• apex と apexlang の手順を先に確認して、接続情報とアプリ生成・インポートの流れを固めます。次に oracle-
apexdev MCP で接続して、必要なスキーマ情報を取ります。
• Explored
└ Read SKILL.md (apex skill), SKILL.md (apexlang skill)
────────────────────────────────────────────────────────────────────────────────────────────────────────
• APEXLang のルールでは、まずローカルの生成コンテキストを確認してから app を解決します。workspace probe
と、生成フローの参照元を並行で見ます。
• Explored
└ Read apex-generation.md, prompt-contracts.md
• Ran node /Users/ynakakoshi/Documents/emp-crud/.agents/skills/apex/apexlang/tools/apexctl.mjs workspace
│ probe
└ (no output)
────────────────────────────────────────────────────────────────────────────────────────────────────────
• DB 側はユーザー指定が十分なので、local-26ai-apexdev に接続して APEXDEV スキーマの実体を確認します。並
行できる範囲は後でやりますが、接続とスキーマ取得は順番依存です。
• Calling oracle-apexdev.connect({"connection_name":"local-26ai-apexdev","model":"gpt-5.5"})
Field 1/1 (1 required unanswered)
Allow the oracle-apexdev MCP server to run tool "connect"?
connection_name: local-26ai-apexdev
model: gpt-5.5
1. Allow Run the tool and continue.
› 2. Allow for this session Run the tool and remember this choice for this session.
3. Always allow Run the tool and remember this choice for future tool calls.
4. Cancel Cancel this tool call
enter to submit | esc to cancel
───────────────────────────────────────────────────────────────────────────────────────────────────────────────
• 最終報告の参照用に、application.apx の該当箇所とページの位置だけ確認します。これでどこが CRUD の入口かを具体
的に示せます。
• Explored
└ Read application.apx, p00001-employees.apx, p00002-employee-form.apx
───────────────────────────────────────────────────────────────────────────────────────────────────────────────
• applications/EMP_CRUD に EMP_CRUD アプリを用意し、local-26ai-apexdev の APEXDEV ワークスペースへ SQLcl でイン
ポートしました。apex validate と apex import は同一 SQLcl セッションで実行し、import は成功、アプリ ID は 112
でした。
- 対話モード・レポートは applications/EMP_CRUD/pages/p00001-employees.apx:62 にあり、EMP を EMPNO 順で表示
し、行クリックでフォームへ遷移します。
- CRUD フォームは applications/EMP_CRUD/pages/p00002-employee-form.apx:18 にあり、EMP の作成・更新・削除を行
えます。
- アプリ定義の入口は applications/EMP_CRUD/application.apx:40 です。
補足として、ライブ SQLcl では authentication.scheme が正でした。リポジトリ側の packaged helper は古い
compiler metadata を掴んでいて、ローカルの補助検証だけは authenticationScheme を期待する状態が残っています。
ライブ import は成功しているので、実運用の source は正しいです。
─ Worked for 10m 18s ──────────────────────────────────────────────────────────────────────────────────────────
› もう一度インポートを実行してください。
• 同じ EMP_CRUD を再インポートします。前回と同じく、まず apex validate を同一 SQLcl セッションで通してから apex
import を実行します。
• Waited for background terminal · sql -name local-26ai-apexdev
• 接続できました。同一セッションのまま validate を実行します。
↳ Interacted with background terminal · sql -name local-26ai-apexdev
└ apex validate -input /Users/ynakakoshi/Documents/emp-crud/applications/EMP_CRUD
• Waited for background terminal · sql -name local-26ai-apexdev
• validate は成功です。同じセッションで import を続けます。
↳ Interacted with background terminal · sql -name local-26ai-apexdev
└ apex import -input /Users/ynakakoshi/Documents/emp-crud/applications/EMP_CRUD
• Waited for background terminal · sql -name local-26ai-apexdev
• 再インポートも成功しました。セッションを閉じます。
↳ Interacted with background terminal · sql -name local-26ai-apexdev
└ exit
• Ran sql -name local-26ai-apexdev
└
SQLcl: Release 26.1 Production on Fri May 15 17:17:57 2026
… +15 lines (ctrl + t to view transcript)
Disconnected from Oracle AI Database 26ai Free Release 23.26.1.0.0 - Develop, Learn, and Run for Free
Version 23.26.1.0.0
───────────────────────────────────────────────────────────────────────────────────────────────────────────────
• 再インポートしました。local-26ai-apexdev への sql -name local-26ai-apexdev セッション内で apex validate を再
実行し、そのまま apex import まで通して、Import successful. を確認しています。
───────────────────────────────────────────────────────────────────────────────────────────────────────────────
› Implement {feature}
gpt-5.4-mini medium · ~/Documents/emp-crud
emp-crud-code % apm install --target claude
[>] Installing dependencies from apm.yml...
[>] Resolving skills-apex...
[>] Resolving skills-db...
[i] Targets: claude (source: --target flag)
[+] github.com/oracle/skills/apex#main #main @11e528de
|-- Skill integrated -> .claude/skills/
[+] github.com/oracle/skills/db#main #main @11e528de
|-- Skill integrated -> .claude/skills/
[i] Added apm_modules/ to .gitignore
[*] Installed 2 APM dependencies in 3.6s.
emp-crud-code %
{
"mcpServers": {
"oracle-apexdev": {
"command": "/opt/homebrew/Caskroom/sqlcl/26.1.2.132.1334/sqlcl/bin/sql",
"args": [
"-R",
"4",
"-mcp"
]
}
}
}
emp-crud-code % claude
╭─── Claude Code v2.1.142 ──────────────────────────────────────────────────────────────────────────────╮
│ │ Tips for getting started │
│ Welcome back Yuji! │ Run /init to create a CLAUDE.md file with instr… │
│ │ ──────────────────────────────────────────────── │
│ ▗ ▗ ▖ ▖ │ What's new │
│ │ Added new `claude agents` flags: `--add-dir`, `… │
│ ▘▘ ▝▝ │ Fast mode now uses Opus 4.7 by default (previou… │
│ Sonnet 4.6 · Claude Pro · yuji.nkks@gmail.com's │ Plugins with a root-level `SKILL.md` and no `sk… │
│ Organization │ /release-notes for more │
│ ~/Documents/emp-crud-code │ │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────╯
❯ 1. MCPサーバーoracle-apexdevで、データベースlocal-26ai-apexdevに接続してください。
2. local-26ai-apexdevはユーザーapexdevで接続されています。これはAPEXワークスペースAPEXDEVのパーシング
・スキーマです。
3. スキーマAPEXDEVには表EMPが存在します。
4. APEXlangのスキルを参照して、表EMPの一覧を表示する対話モード・レポートのページと、従業員の作成、更新
、削除ができるフォームを持つAPEXアプリケーションEMP_CRUDを作成してください。
5. アプリケーションはディレクトリapplications以下にEMP_CRUDとして作成してください。
6. アプリケーションのインポートはMCPサーバーではなく、applications/EMP_CRUDに移動した後に、"sql -name
local-26ai-apexdev"でSQLclを起動し、"apex
import"を実行することで、APEXアプリケーションのインポートを行なってください。
⏺ まずAPEXスキルを参照してから、データベースへの接続と作業を進めます。
⏺ Skill(apex)
⎿ Successfully loaded skill
⏺ APEXLangのワークフローとドメインのドキュメントを読みます。
Read 2 files (ctrl+o to expand)
⏺ マスターワークフローとテンプレートを読みます。
Read 2 files (ctrl+o to expand)
⏺ コネクションゲートと主要なエージェントファイルを読みます。
Read 2 files (ctrl+o to expand)
⏺ 重要なポリシーとテンプレートを並行して読みます。
Read 3 files (ctrl+o to expand)
⏺ 次に、MCPでデータベースへの接続とEMPテーブル構造の確認を行います。
⏺ データベースに接続してEMPテーブルの構造を確認します。
Called oracle-apexdev (ctrl+o to expand)
⏺ 接続成功。EMPテーブルの詳細情報を取得します。
Called oracle-apexdev (ctrl+o to expand)
⏺ EMPテーブル構造を確認。次にスキャフォールドと対話モードレポート・フォームのテンプレートを読みます。
Searched for 1 pattern, read 26 files, listed 8 directories (ctrl+o to expand)
⏺ Bash(find /Users/ynakakoshi/Documents/emp-crud-code/.claude/skills/apex/apexlang/ -name "*.md" | xargs
grep -l "automaticRowProcessing\|formFetch\|form-initializatio…)
⎿ /Users/ynakakoshi/Documents/emp-crud-code/.claude/skills/apex/apexlang/templates/region-compone
nts/form/form._processes._common.md
/Users/ynakakoshi/Documents/emp-crud-code/.claude/skills/apex/apexlang/templates/region-compone
… +3 lines (ctrl+o to expand)
⏺ Bash(find /Users/ynakakoshi/Documents/emp-crud-code/.claude/skills/apex/apexlang/ -name "*.md" | xargs
grep -l "process.*type\|type.*process\|executionMappingIdentif…)
⎿ /Users/ynakakoshi/Documents/emp-crud-code/.claude/skills/apex/apexlang/references/domains/page-
components/buttons/workflow-button-batch.md
/Users/ynakakoshi/Documents/emp-crud-code/.claude/skills/apex/apexlang/references/domains/page-
… +14 lines (ctrl+o to expand)
Searched for 1 pattern, read 5 files, listed 1 directory (ctrl+o to expand)
⏺ 全テンプレートの確認が完了。アプリケーション生成を開始します。
⏺ Bash(mkdir -p /Users/ynakakoshi/Documents/emp-crud-code/applications/EMP_CRUD/.apex \
/Users/ynakakoshi/Documents/emp-crud-code/applications/EMP_CRUD/deployments \…)
⎿ Done
⏺ Write(applications/EMP_CRUD/.apex/apexlang.json)
⎿ Wrote 3 lines to applications/EMP_CRUD/.apex/apexlang.json
1 {
2 "mmdVersion" : "26.1.0+3102"
3 }
⏺ Write(applications/EMP_CRUD/deployments/default.json)
⎿ Wrote 5 lines to applications/EMP_CRUD/deployments/default.json
1 {
2 "workspace": {
3 "name": "APEXDEV"
4 }
5 }
⏺ すべての作業が完了しました。結果をまとめます。
---
完了報告
実施内容
1. データベース接続: MCPサーバー oracle-apexdev で local-26ai-apexdev
に接続し、EMPテーブルの構造を確認(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
2. APEXLangアプリケーション生成: applications/EMP_CRUD/ に以下のファイルを生成
- application.apx — アプリ定義(EMP CRUD)
- pages/p00001-home.apx — ホームページ
- pages/p00002-emp-report.apx — 対話モード・レポート(EMP一覧)
- pages/p00003-emp-form.apx — 従業員フォーム(モーダルダイアログ)
- pages/p09999-login.apx — ログインページ
- shared-components/ — 認証・ナビゲーション・LOV(DEPT, MGR)等
3. アプリケーション機能:
- Page 2: EMPの対話モードレポート(行クリックで編集フォームへ、Createボタンで新規作成)
- Page 3: モーダルダイアログフォーム(Create/Save/Delete/Cancelボタン)
- ダイアログクローズ後に自動でIRをリフレッシュ
4. 検証・インポート:
- apex validate -input . → 検証成功(警告なし)
- apex import -input . → インポート成功 → アプリケーションID: 112(ワークスペース: APEXDEV)
✻ Crunched for 44m 14s
※ recap: EMP_CRUDアプリケーション(対話モードレポート+フォーム)をAPEXDEVワークスペースにインポート完了
(アプリID: 112)。次はAPEX Builderでアプリの動作確認を行ってください。 (disable recaps in /config)
─────────────────────────────────────────────────────────────────────────────────────────────────────────
❯
─────────────────────────────────────────────────────────────────────────────────────────────────────────
⏵⏵ accept edits on (shift+tab to cycle) 4% until auto-compact
emp-crud-code % ls -R applications/EMP_CRUD
application.apx page-groups.apx shared-components
deployments pages supporting-objects
applications/EMP_CRUD/deployments:
default.json
applications/EMP_CRUD/pages:
p00000-global-page.apx p00002-emp-report.apx p09999-login.apx
p00001-home.apx p00003-emp-form.apx
applications/EMP_CRUD/shared-components:
authentications.apx build-options.apx lovs.apx
authorizations.apx component-settings.apx static-files.apx
breadcrumbs.apx lists.apx themes
applications/EMP_CRUD/shared-components/themes:
universal-theme
applications/EMP_CRUD/shared-components/themes/universal-theme:
theme.apx
applications/EMP_CRUD/supporting-objects:
supporting-objects.apx
ynakakoshi@Ns-Macbook emp-crud-code %










