Skip to content

Commit 61a4266

Browse files
committed
Introduce CONTRIBUTING.md
1 parent d03224a commit 61a4266

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

CONTRIBUTING.md

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Contributing
2+
3+
Thank you for your interest in contributing to Raycast Script Commands! Here you will find simple guidelines that can help you with getting started.
4+
5+
## Guidelines
6+
7+
### Folder structure
8+
9+
Try to bundle scripts that are related in a directory / sub-directory. Avoid having generic folders with lots of different commands. For example instead of having one `media` directory that contains integrations with different services, it's better to create sub-directories for each service:
10+
11+
```markdown
12+
. script-commands
13+
└─ media
14+
├─ spotify
15+
├─ apple-music
16+
└─ youtube
17+
```
18+
19+
Reasoning behind it: to avoid automatically including scripts that people may not be interested in. E.g. if you're using Spotify scripts, there is a lower chance you will need to access Apple Music.
20+
21+
### File naming convention
22+
23+
Use dash-case format for script files and directories, and use proper file extensions: Applescript should be `.applescript`, Swift should be `.swift`, Bash should be `.sh`, etc.
24+
Example: `spotify-next-track.applescript`
25+
26+
### Scripts that require additional modification
27+
28+
1. Ensure that comments include instructions on how to start using the script. E.g. you might need to provide API token, install a dependency or tweak parameters.
29+
2. Add `.template.` to the file name for scripts that need modifications. Then scripts won't be automatically parsed by Raycast and people who want to use it will need to copy the file and remove `.template.` part.
30+
31+
Example: `github-notifications.template.sh`
32+
33+
NOTE: This might change as soon as we introduce a better way to provide parameters / enviromental variables.

0 commit comments

Comments
 (0)