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

# Getting Started

<Note>
  Keep in mind this is a early released guide on how to make extensions for V3.<br />**Version 3 is unreleased and is completely rebuilt from scratch.** Do not use V2 as reference.
</Note>

Please read the [Rules on Extensions](/rules) first!

1. Create a Instance to hold your extension.<br />For this example we'll take a Folder.
2. Inside the Folder, create following Instances:<br />  • `client` (ModuleScript)<br />  • `server` (ModuleScript)<br />  • `Permissions` (Configuration)
   <Info>
     Hint: You can leave out the ModuleScripts if you don't need them!
   </Info>
3. Give that folder following attributes:<br />  • `author` (string)<br />  • `name/id` (string, name of the extension)<br />  • `description` (string)<br />  • `version` (string in this case, e.g. `1.0.0`)
4. Add script to our ModuleScripts:<br />You always have to return a function:

<CodeGroup>
  ```luau client.luau lines theme={null}
  return function(api, ext) -- ext is the extension instance itself.
  	local manifest = api.manifest or {}
  	-- ...
  end
  ```

  ```luau server.luau lines theme={null}
  return function(api)
  	local manifest = api.manifest or {}
  	-- ...
  end
  ```
</CodeGroup>

5. **Done!** For more information just visit the other pages under this tab.

[API Usage](/api-usage)<br />[Permissions](/permissions)
