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

# Describe a component

> Say it in a sentence. Get a component that works, then change it by saying so.

## Say what it should do

Open the panel (**PANEL** on a component, or double-click it), type what the component should do, and press **Enter**. **Shift+Enter** starts a new line.

* **With nothing selected**, Alien makes a new component.
* **With an Alien component selected**, your request changes that component.

```text theme={null}
a voronoi panel facade on a surface, with a slider for the cell count
```

Alien sends your request, the current script and a summary of what's wired in to a model. The model writes the whole script, with its pins and controls. Alien runs it on your canvas. If the code throws an error (a Python traceback or a C# compiler message), Alien sends the error back to the model to fix, up to four attempts. You watch each attempt in the panel.

<Info>
  In our test of ten everyday requests (divide a curve, contour a mesh, loft sorted curves, number panels for fabrication and more), all ten came out working on the default model, eight to ten of them on the first try depending on the run; the loop fixed the rest. Each cost about US\$0.001–0.002.
</Info>

## Change it by saying so

Follow-ups edit the component you have selected, not the rest of your definition:

```text theme={null}
make the cells smaller near the base
```

Wires stay connected, matched by pin name. Every earlier version is kept: open **Earlier versions** in the panel and click **Restore** to go back.

## Build on what's there

Drag a box around two or more components (say **Levels** and **Grids**), then describe a component that uses them:

```text theme={null}
a floor slab at every level inside the grid
```

The model sees what each selected component outputs. The new component is placed beside them, already wired. With one Alien component selected, tick **Build a new node from this one** to do the same instead of changing it. Select a single native Grasshopper component and Alien builds a new one from it, no tick needed.

## Write requests that land

<CardGroup cols={2}>
  <Card title="Say what goes in and what comes out" icon="arrow-right-arrow-left">
    "Take a closed curve and a distance, output the offsets" gives you the pins you expect.
  </Card>

  <Card title="Name the controls you want" icon="sliders">
    "with a slider for the count from 2 to 200" sets the range. Choices become dropdowns, yes or no becomes a switch.
  </Card>

  <Card title="Give units when they matter" icon="ruler">
    Alien tells the model your document's units, so "5 m" in a millimetre model comes out as 5,000 mm.
  </Card>

  <Card title="Keep each component small" icon="puzzle-piece">
    One job per component, wired together, beats one component that does everything. It's easier to check, change and reuse.
  </Card>
</CardGroup>

## Choose the model

The model picker is in the panel's header. The default is **Claude Haiku 5.5** through OpenRouter: fast and cheap. Any OpenRouter model works, or a local model through Ollama (`ollama:<name>`), so nothing leaves your machine. See [Settings](/reference/settings).

## What gets sent

Your request, the current script and short summaries of the wired inputs, only to providers that don't store or train on prompts. Never your Rhino file. More in [Costs and privacy](/guides/costs-and-privacy).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.