Welcome to the Overlays Repository, a community-driven project to develop and share task-specific overlays for the Overlays Capture Architecture (OCA). This repository allows contributors to create, share and find overlays that extend and improve the functionality of Capture Bases and other overlays. This is achieved by providing documentation and overlay definitions .overalyfile.
The OverlayFile is a custom, domain-specific language that allows you to create a definition of any given overlay programmatically. See the Overlayfile specification for more information.
The OCA Specification defines 13 distinct overlays as a baseline for anyone who would like to build their own semantic stack. You can find the definitions of these overlays in the core.overlayfile.
Overlays are cryptographically linked objects that provide task-oriented definitional or contextual information to a Capture Base or other Overlays. These overlays enable users to:
- Enhance Data with Metadata – Attach additional descriptive, contextual, or structured information to underlying objects.
- Define Business Logic – Implement rules and conditions that influence the behavior of a system interacting with the overlay.
- Customize Data Presentation – Structure how data is formatted, displayed, and interpreted for different audiences.
- Transform User Experience – Modify and enrich how information is visually and functionally presented to viewers.
- Automate Processes – Guide automated agents by defining workflows, actions, or decision-making parameters.
- and more ...
Overlays allow for flexible and structured data enhancement while maintaining a consistent foundation. They play a crucial role in extending the utility of the Overlays Capture Architecture (OCA).
For more information about OCA, visit: OCA Documentation
List of the currently submitted overlays can be found here
We welcome and encourage contributions from the community. Follow the steps below to create and submit your overlay.
Before creating a new overlay, check if a similar idea already exists. If an existing overlay addresses the same need, consider improving or extending it instead of creating a new one. The latest list of overlays can be found here
Clearly define the goal of the overlay. Each overlay should serve a single purpose and should be focused on solving a specific problem.
Provide a detailed use case explaining:
- Where and why the overlay is helpful.
- The scope and intended usage.
- Any relevant contextual framing.
- How the overlay may link to and interact with other overlays to enhance functionality.
This description helps others understand the overlay’s purpose and potential applications.
Create definition of your overlay using .overlayfile, use tools like oca-bin to validate it and build few example of OCAFILE with it.
Create a definition for your overlay using the .overlayfile syntax. Use tools such as oca-bin to validate it.
Using the OCAFILE syntax, develop an example that demonstrates the overlay in action. Use tools such as oca-bin.
Follow the standard template structure to ensure consistency across all overlays. Templates help maintain clarity and usability.
6. Update overlays
Add new item in the table for community overlay filling all columns.
Push your overlay to this repository by creating a Pull Request (PR). PR should include
- directory named
<NUMBER>-<OVERLAY-NAME>/ in overlays, The number should be next available number from overlays directory. .Overlayfiledefinition of proposed overlay following Overlayfile Specification- README.md - markdown description of proposed overlay following the template
Join the community discussions and share your insights! If you have questions or need assistance, feel free to:
- Open an issue or discussion on GitHub.
- Engage in discussions on community forums.
- Reach out via OCA’s official channels on matrix.
Let’s build a powerful ecosystem of overlays together!
Happy Contributing! 🚀
All work in this repository is under EUPL1.2 License. See LICENSE