Skip to main content

Official Templates

Overview​

Templates are ready-to-use resource structures that help you start new features quickly. They provide a standardized way to organize your code and assets.

opencore-templates​

A collection of official resource boilerplates and production-ready implementations to accelerate your development.

Included Templates:

  • xChat: A feature-rich chat implementation including radial menus, command suggestions, and high-performance message routing. It serves as the reference implementation for the ChatPort.
  • Base Resource: A lightweight, boilerplate-free starting point for any OpenCore resource, pre-configured with TypeScript, tsyringe, and the core runtime.
  • Identity Implementation: A template showing how to implement the opencore-identity library in a real project.
Library Template Status

Some templates reference external OpenCore libraries that are currently outdated.

At the moment, only the framework, adapters, and CLI are actively maintained. Treat library-based templates as historical/reference material unless you are prepared to update them yourself.

Usage​

You can instantiate templates using the OpenCore CLI or by cloning the official template repositories.

Template metadata​

Official templates can publish an oc.manifest.json file that declares:

  • template kind (resource, standalone, or core)
  • runtime compatibility (fivem, redm, ragemp)
  • game profile compatibility (common, gta5, rdr3)
  • dependencies on other templates through requires.templates

This metadata is used by the CLI to show compatibility in opencore clone --list and to validate opencore clone <template> against the current project runtime.

Read the full format here:


Community Templates

Do you have a template that follows OpenCore's best practices? We welcome community contributions! Feel free to reach out or submit your template to be featured in our official documentation.