# Plugin Development

Lighthouse is able to be extended in a lot of places. Plugin developers may utilize this to offer users extra functionality that is not available in the core.

# Guidelines

  • Try not to change core behaviour. If you really have to, make it really explicit.
  • Consider improving the extensibility of Lighthouse with a PR instead of doing workarounds.
  • Add your plugin to the Resources page once it is done.

# Add schema definitions

You might want to provide some additional types to the schema. The preferred way to do this is to listen for the BuildSchemaString event. It is sent before Lighthouse parses the schema string.

Check out the test suite (opens new window) for an example of how this works.