> ## Documentation Index
> Fetch the complete documentation index at: https://docs.noxus.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Your First Plugin

> Step-by-step tutorial — from plugin definition to deployed nodes and integrations

This tutorial walks you through building a complete plugin from scratch. By the end you'll have a plugin with custom nodes, an integration, file handling, and deployed to Noxus.

We'll build a **Weather Plugin** across six sections, each adding a new capability:

```mermaid theme={null}
graph LR
    S1["1. Plugin<br/>Definition"] --> S2["2. First<br/>Node"]
    S2 --> S3["3. First<br/>Integration"]
    S3 --> S4["4. Use Integration<br/>in Node"]
    S4 --> S5["5. Working<br/>with Files"]
    S5 --> S6["6. Advanced<br/>Techniques"]
```

<CardGroup cols={2}>
  <Card title="1. Plugin Definition" icon="box" href="/developers/plugins/tutorial/plugin-definition">
    Scaffold the project, define the plugin class, validate, and run locally.
  </Card>

  <Card title="2. First Node" icon="cube" href="/developers/plugins/tutorial/first-node">
    Create a node with inputs, outputs, and logic. Test it with curl.
  </Card>

  <Card title="3. First Integration" icon="key" href="/developers/plugins/tutorial/first-integration">
    Define credentials and an integration for an external API.
  </Card>

  <Card title="4. Use Integration in Node" icon="plug" href="/developers/plugins/tutorial/using-integrations">
    Wire the integration into your node to call a real API with credentials.
  </Card>

  <Card title="5. Working with Files" icon="file" href="/developers/plugins/tutorial/working-with-files">
    Read and create files from plugin nodes.
  </Card>

  <Card title="6. Advanced Techniques" icon="wand-magic-sparkles" href="/developers/plugins/tutorial/advanced-techniques">
    Config UI controls, dynamic config, list handling, error handling, and deployment.
  </Card>
</CardGroup>

## Prerequisites

* Python 3.10+
* The Noxus SDK installed: `pip install noxus-sdk`
* Basic familiarity with Python, Pydantic, and async/await

## What we're building

A **Weather Plugin** that:

* Provides a **Get Weather** node that fetches weather data for any city
* Includes a **Weather API** integration to manage API key credentials securely
* Has nodes for **reading** and **creating** files
* Uses **configuration UI controls** so users can customize behavior in the editor

Each section builds on the previous one — start at section 1 and work through them in order, or jump to the section you need.
