First Application using APEXlang.
A Practical Case Study Using Codex and Copilot to Generate Standards and Code

I've been working exclusively with Oracle APEX for the last 10 years, so this is huge for me because it's not only my first APEXlang app, it's also the first time I use AI to create any application from scratch.
Frist step
I created an AGENTS.md file in the root directory if my project. Here I'm going to include some technical details I want the agent to consider when creating the project, like code standards. To do so, I created a sample.sql file with pieces of SQL for packages, table creation, views, triggers, etc. and asked codex to read it and modify the AGENTS.md file with standards following to the structure of the sample code, and it actually did a good job.
After that, I asked it to be review the file, be critical and based on best practices suggest improvements, so it did.
At this point I checked the file to be sure it was ok, and also included some lines related to APEX, just in case.
business requirements.
I'd like to jump and give a model a "Complex" task and see how it handles it, something similar to an initial requirement we could get from a potential user.
According to what I've seen, this could also be places in the AGENTS.md file, but in my case, I took the path of creating a separated file for that.
So, I gave this to Codex:
"let's generate a plan to create an application intended to create development requirements and support tickets.
Should allow 3 types of users: Administrator, customer and agent. Customers should be able to log in and create tickets of two types (development, support), view a list of their tickets in and navigate to the details of each one.
The ticket details page should should allow adding comments, attachments and modify the status of the ticket. All tickets are assigned to an agent.
Agents should be able to see the tickets assign to them and navigate to the ticket page to edit. Inside ticket page must be a region to log time spent working on the ticket by agent, and an optional comment field to specify the work done.
Administrators can see and modify all information and are in charge of managing users. Customer users should belong to an organization. These organizations must exists in the application and be managed by the administrator.
There should be report in of monthly time logged by organization, with drill down option to see the details. Customer Can check the monthly report as "Accepted". monthly time will be invoiced and the payment needs to be tracked in the application, saving the invoiced date and payment date. Notifications will be sent to customers every other day after 30 days of invoicing if payment is not received."
Coolest thing, It understood this was an APEX based development and started using the skill, also asked some questions:
It created a plan.md file. It's really easier to read and modify the plan rather then using the chatbox.
It even recommended lookup values
And included a nice todo list.
I made some changes, like adding some tables to the model it didn't consider. In this case it didn't include a table for roles, and I like creating a table for Lookups.
And included two tasks in the todo list related to this:
Executing the plan
Now it's time to go step by step on this, so next prompt was: "execute phase 1 of the plan When you finish, modify /docs/plan.md file to mark as done any task executed from the todo list"
It asked for the connection to be used for SQLcl, then checked it was able to connect and started to work on the phase 1.
when completing file creation, asked before executing it in the database:
after that, I got this summary of what it did, and checked the plan file
Now Let's see Phase 2, that includes creating the APEX app. I used: "execute phase 2 of the plan When you finish, modify /docs/plan.md file to mark as done any task executed from the todo list"
And after a while:
And for the first time, I can se my pages in VS Code
During the process it executes validations and tries to fix reported issues.
It also imported the application and executed a post import check.
At this point, I used almost all my weekly Codex tokens, so used the rest asking Codex to "include important notes from this session to file AGENTS.md that can be helpful to complete next 3 phases." and it dit a nice job again.
This way, I'll be able to continue with a different agent :) Also good to check GitHub Copilot now.
I asked GitHub Copilot to complete the rest of the phases, and it did a decent job, DB objects and pages were created.
These are the resulting objects in the database:
Only thing was that pages got some errors and only when I told the agent about it, took action. But that only happened with GitHub Copilot, while working with Codex I noticed that it found the error and fix it before saying tasks were completed.
Even List of values based on the lookup table were created following the code format I gave it.
Result on PL/SQL side was actually nice. Code followed the given standards, the result is actually readable and editable, using meaningful columns, variables and parameters names.
Final thoughts
I think this was a really good result even with an initial requirement that could have more details to improve the outcome. But, for a first app creation, as a starter point to continue working on it using both APEXlang and the APP Builder that comes with lots of new cool features in this version, it's ok.
We should treat the agent as the powerful assistant it is, not an autopilot. Defining expectations and clear instructions (AGENTS.md), provide examples (sample.sql), and produce a plan that can be constantly reviewed and updated (plan.md) helps creating a predictable output and control keeps you in control of the process step by step.
Next steps I’m planning to keep going in this app giving tasks to improve it and trying to take it to an MVP leve¡. I’ll also keep refining AGENTS.md as I learn what prompts and examples help me producing better results.
If you’re experimenting with APEXlang, I'd love to hear read about your experience and best practices in your agents file.



