---
title: "Extend SIL with custom plugins"
canonical: "https://support.appfire.com/space/PSJ/15486407/Extend%20SIL%20with%20custom%20plugins"
format: markdown
---
> Macro (aura-html)


> Macro (excerpt)
> 
> The SIL Engine library offers a suite of features that you can use to develop your own plugins based on Simple Issue Language (SIL). While SIL includes many built-in functions, you might need custom functionality for your specific use cases.

This guide presents two development tutorial paths for creating custom SIL plugins, each designed for different developer needs and expertise levels. Both tutorials guide you through extending SIL functionality but with different levels of detail and focus. The [Comprehensive tutorial](https://appfire.atlassian.net/wiki/spaces/PSJ/pages/15486898/Tutorial+legacy) provides a deeper architectural understanding, while the [Quick-start tutorial](https://appfire.atlassian.net/wiki/spaces/PSJ/pages/15485473/Tutorial+new) offers faster implementation.

> ⚠️ You can create free plugins based on SIL Engine and this documentation, but you cannot create commercial (paid) plugins based on SIL. If you want to do so, contact us at [support@appfire.com](mailto:support@appfire.com), and we will discuss a joint approach.

## Tutorial paths

| **Tutorial:** | **Comprehensive** | **Quick-start** |
| --- | --- | --- |
| **Suitable for:** | Experienced Java developers building complex, production-grade extensions | Administrators and developers seeking fast implementation |
| **Key features:** | - Comprehensive coverage of SIL architecture
- Custom field descriptor implementation
- Spring framework integration
- Full add-on lifecycle management | - Simplified setup using archetypes
- Direct function implementation examples
- Practical data handling techniques
- Quick testing and deployment |
| **Prerequisites:** | - Java programming expertise
- Maven and Spring framework knowledge
- Atlassian SDK experience | - Basic programming knowledge
- Familiarity with development tools |
| **Choose this path if:** | - You need custom field descriptors support
- Your project requires deep integration
- You're building for enterprise deployment | - You need to quickly create custom functions
- You prefer straightforward implementation
- You don't require custom field support |

## Next steps

After following either tutorial path, you might want to explore a real-world implementation example. Our [Case study: SIL support for the nFeed plugin](https://appfire.atlassian.net/wiki/spaces/PSJ/pages/15485523/SIL+support+for+nFeed+plugin)** **demonstrates how to create custom field descriptors for third-party plugins. This practical example shows how to apply the concepts from the tutorials to integrate SIL with nFeed custom fields, complete with source code and ready-to-deploy binaries.