> For the complete documentation index, see [llms.txt](https://documentation.hak5.org/packet-squirrel/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.hak5.org/packet-squirrel/payload-development/payload-development-basics.md).

# Payload Development Basics

Packet Squirrel payloads can be written in any standard text editor, such as notepad, vi or nano.

Payloads may be written in bash, Python or PHP and as such must be named payload.sh, payload.py or payload.php respectively. Additionally a payload.txt file will be processed according to its interpreter directive.

All payloads should begin with an interpreter directive. For example, bash payloads should begin with the typical shebang /bin/bash

```
#!/bin/bash
```

Similarly, Python payloads should begin with shebang /usr/bin/python

```
#!/usr/bin/python
```
