forked from tijanibro/OpenVXML
-
Notifications
You must be signed in to change notification settings - Fork 8
Add initial AGENTS.md #47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
39e7d3d
claude init for WIP
TadMelton 102c59a
normalizing sections
TadMelton d47a60c
Add/normalize Relevant Projects section in AGENTS.md for cross-repo c…
TadMelton a7c61b5
Remove code ownership statement from AGENTS.md
TadMelton ec1050d
Add CLAUDE.md referencing AGENTS.md
TadMelton File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| # OpenVXML | ||
|
|
||
| VoiceXML IVR development platform built as Eclipse/OSGi plugins. Originally the "Eclipse Voice Tools Project" (VTP) by OpenMethods, now maintained by VHT/Medallia. Provides a visual IDE for designing IVR call flows (desktop layer) and a server-side runtime engine that executes them (framework layer). | ||
|
|
||
| ## Build | ||
|
|
||
| Requires JDK 8 (Amazon Corretto 8 in CI) and Maven 3.5.x. No Maven wrapper included. | ||
|
|
||
| ```bash | ||
| mvn clean verify | ||
| ``` | ||
|
|
||
| Build output (p2 update site): `com.vht.openvxml.releng/com.vht.openvxml.update/target/repository/` | ||
|
|
||
| Uses Eclipse Tycho 1.3.0 with the pomless extension (`.mvn/extensions.xml`), so most plugins don't need individual pom.xml files. | ||
|
|
||
| Key dependencies: Eclipse Kepler SR2, OSGi/Equinox, Apache HttpClient 4.5.13, Jackson 2.13.x, Mozilla Rhino, Apache Derby, Xerces. | ||
|
|
||
| ## Test | ||
|
|
||
| No automated test suite. The one test class (`org.eclipse.vtp.framework.util/src/test/java/.../XMLUtilitiesXXETest.java`) is not run by `mvn verify` because Tycho only compiles `src/main/java`. Must be run from an IDE with JUnit 4.13.2 and Hamcrest 1.3 on the classpath. | ||
|
|
||
| ## Architecture | ||
|
|
||
| Three layers, each following the same pattern: `*.features` (Eclipse feature definitions) and `*.plugins` (OSGi bundles). Parent POM chain: plugin -> `com.vht.openvxml.configuration` (in `com.vht.openvxml.releng`) -> root. | ||
|
|
||
| **Desktop** (`com.vht.openvxml.desktop`) — Eclipse RCP plugins providing the visual IVR design IDE: workflow editors with visual themes (Attraction, Mantis), model layers for business objects/databases/web services, media/voice prompt editors, project management and WAR export. | ||
|
|
||
| **Framework** (`com.vht.openvxml.framework`) — Server-side runtime engine deployed as a WAR via the Eclipse Equinox Servlet Bridge. Core subsystems: process engine and session management (`framework.engine`), extension points for actions/configurations/observers/services (`framework.core`), voice interaction handling (`framework.interactions.*`), JavaScript scripting via Mozilla Rhino, database and web service connectors. | ||
|
|
||
| **Platforms** (`com.vht.openvxml.platforms`) — Telephony platform integrations: Genesys GVP, Cisco CVP, Dialogic, Prophecy, AVP, VTOP, VXMLB, and IDriver (native Windows telephony via JNA). | ||
|
|
||
| Standard Eclipse plugin structure per bundle: | ||
| - `META-INF/MANIFEST.MF` — OSGi bundle manifest | ||
| - `plugin.xml` — Eclipse extension point declarations | ||
| - `build.properties` — source folders and build includes | ||
| - `src/main/java/` — Java source | ||
|
|
||
| Package namespaces: `org.eclipse.vtp.framework.*` (runtime), `org.eclipse.vtp.desktop.*` (IDE), `org.eclipse.vtp.modules.*` (modular UI), `com.openmethods.openvxml.*` (platform integrations). | ||
|
|
||
| XML parsing is centralized through `XMLUtilities` in `org.eclipse.vtp.framework.util` with XXE-prevention features enabled. Use `XMLUtilities` rather than creating parser instances directly. | ||
|
|
||
| ## CI/CD | ||
|
|
||
| Jenkins pipeline in `jenkins/ci_build/JenkinsFile`. Runs `mvn clean verify` on Ubuntu with Corretto JDK 8, then packages the p2 repository and publishes to a build server. | ||
|
|
||
| ## Relevant Projects | ||
|
|
||
| - `VXML-IVR` — builds the final deployable product and consumes this repo's p2 update site. | ||
|
|
||
| ## Conventions | ||
|
|
||
| PRs use `.github/PULL_REQUEST_TEMPLATE.md` with sections: Card(s), Related Pull Requests, Changes Made, Test Procedure (Cucumber format). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.