# pcb-rnd - plugin development

## basics

- terminology
- when to create a new plugin
- plugin naming conventions
- how to create a new plugin
- explanation of the basic API skeleton and plugin initialization process
- syntax of pup files
- variables in tmpasm files
- standard plugin cookies
- how to create actions
- how to create per plugin menu items

## advanced topics

- how to bind pcb-rnd events
- how to get notified about config node change
- how to create local plugin config
- how to create default config file
- how to register an I/O handler

## external plugins

- why not to create an external plugin
- how to create an external plugin - as fungw plugin
- how to create an external plugin - as a puplug plugin