On an empty folder:
| OS | Command/Instructions |
|---|---|
| Windows | Download and execute: https://openaf.io/win64/install.bat |
| Mac | Execute on a Terminal:wget -O - https://openaf.io/mac64/install.sh | sh |
| Unix x86 | Execute on a shell:wget -O - https://openaf.io/unix64/install.sh | sh |
| Unix arm32 | Execute on a shell:wget -O - https://openaf.io/arm32/install.sh | sh |
| Unix arm64 | Execute on a shell:wget -O - https://openaf.io/arm64/install.sh | sh |
Use the docker container:
docker run -ti openaf/openaf(see more in openaf-dockers)
Download just the Java JAR file:
| Build | URL |
|---|---|
| Latest stable build | https://openaf.io/openaf.jar |
| Latest nightly build | https://openaf.io/nightly/openaf.jar |
and the execute on an empty folder:
java -jar openaf.jar --install- Java: JRE 21
- Memory: 128MB (for installing and updating, runtime can be lower)
- Storage: around 160MB (for installing and updating, runtime can be 64MB)
(storage requirements can be made lower if needed, tbc)
| Step | Instruction | Sample |
|---|---|---|
| 1 | Create a "hello.js" file | print("Hello World!"); |
| 2 | Execute on the same folder as the "hello.js" file | $ openaf -f hello.js |
PS > openaf -c "print('Hello World!');"$ openaf -c 'print("Hello World!");'openaf --updateJust delete the original empty folder where you executed the install command.
- Documentation index
- Getting started
- Write a script and turn it into an oJob
- Authoring recipes
- Test your scripts and oJobs
- CLI reference
- OpenAF overview
- Advanced OpenAF features
- Command-line flags
- oJob overview
- oJob reference catalog
- oJob security guidance
- oJob recipes
- LLM integration guide
- OpenAF AI GPT types
- Changelog
- Additional developer notes in docs/dev/
After cloning the repository locally execute:
ojob build.yaml
After running ojob build.yaml, run the test suite with the newly built openaf.jar. From the repository root:
cd tests
java --enable-native-access=ALL-UNNAMED -jar ../openaf.jar --ojob -e autoTestAll.yamlThe suite requires the oJob-common oPack. Check the printed pass/fail counts and tests/autoTestAll.results.json (paths relative to the repository root); a successful run has fail: 0. The suite also writes a Markdown report to tests/autoTestAll.md and JUnit XML to tests/autoTestAllResults.xml. Check the results even when the command exits successfully, since the runner currently exits with code 0 after reporting test failures.
To run a focused suite, replace autoTestAll.yaml with an area-specific runner, for example:
# Run from tests/
java --enable-native-access=ALL-UNNAMED -jar ../openaf.jar --ojob -e autoTestAll.IO.yamlIf changes affect ow.test or oJob itself, you can also run ojob autoTestAll.yaml from tests/ using a previously installed stable OpenAF. That command uses the installed runtime; use the explicit JAR command above to validate the new build. See BUILD.md for build prerequisites and bootstrap instructions.
- https://github.com/OpenAF/openaf-templates - Code/oJob templates
- https://openaf.io/opacks - OpenAF packages
- https://docs.openaf.io - OpenAF code snippets and functionality explained