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

# Build on Noorle

> Create plugins, extend the platform, and deploy custom capabilities.

This section covers everything you need to build and publish custom plugins for the Noorle platform using WebAssembly.

```mermaid theme={null}
graph LR
    A["Init"] --> B["Develop"]
    B --> C["Build"]
    C --> D["Test"]
    D --> E["Publish"]
    E -.->|"iterate"| B
```

## Where Do You Want to Start?

<CardGroup cols={2}>
  <Card title="Plugin Quickstart" icon="bolt" href="/docs/build/quickstart">
    Build and deploy your first plugin in under five minutes.
  </Card>

  <Card title="When to Build a Plugin" icon="scale-balanced" href="/docs/build/plugins/when-to-build">
    Decide whether you need a custom plugin or if a built-in capability or connector already covers your use case.
  </Card>

  <Card title="Choose Your Language" icon="code" href="/docs/build/languages/python">
    Pick a language guide — Python, TypeScript, JavaScript, Go, or Rust.
  </Card>

  <Card title="Publish & Version" icon="upload" href="/docs/build/deployment/publishing-and-versioning">
    Package, version, and deploy your plugin to the platform.
  </Card>
</CardGroup>

## By Experience Level

### First-Time Plugin Developer

1. Run the [Quickstart](/docs/build/quickstart) to scaffold, build, and deploy a working plugin.
2. Read [Platform Overview](/docs/build/plugins/platform-overview) to understand how plugins fit into the Noorle architecture.
3. Follow the language guide for your preferred language: [Python](/docs/build/languages/python), [TypeScript](/docs/build/languages/typescript), [JavaScript](/docs/build/languages/javascript), [Go](/docs/build/languages/go), or [Rust](/docs/build/languages/rust).

### Experienced Developer

1. Review [Configuration](/docs/build/configuration) for `noorle.yaml` permissions and advanced settings.
2. Understand [Project Structure](/docs/build/plugins/project-structure) and how tools are auto-discovered.
3. Set up [Publishing & Versioning](/docs/build/deployment/publishing-and-versioning) for your CI/CD pipeline.

### By Language

| Language       | Best For                                         | Guide                                           |
| -------------- | ------------------------------------------------ | ----------------------------------------------- |
| **Python**     | Rapid development, data processing, API wrappers | [Python Guide](/docs/build/languages/python)         |
| **TypeScript** | Type-safe development, web-familiar teams        | [TypeScript Guide](/docs/build/languages/typescript) |
| **JavaScript** | Quick prototyping, lightweight utilities         | [JavaScript Guide](/docs/build/languages/javascript) |
| **Go**         | Simple syntax, strong performance                | [Go Guide](/docs/build/languages/go)                 |
| **Rust**       | Maximum performance, low-level control           | [Rust Guide](/docs/build/languages/rust)             |

## Quick Reference

```bash theme={null}
# Install CLI
curl -L cli.noorle.dev | sh

# Scaffold a plugin
noorle plugin init my-plugin --template python

# Build
noorle plugin build

# Publish
noorle plugin publish
```

## Section Map

| Section                                                   | What's Covered                                                   |
| --------------------------------------------------------- | ---------------------------------------------------------------- |
| [Getting Started](/docs/build/quickstart)                      | Quickstart, configuration                                        |
| [Plugin Development](/docs/build/plugins/platform-overview)    | Platform overview, when to build, project structure, permissions |
| [Language Guides](/docs/build/languages/python)                | Python, TypeScript, JavaScript, Go, Rust                         |
| [Deployment](/docs/build/deployment/publishing-and-versioning) | Publishing, versioning, updates                                  |
