# Running Lune Scripts After you've written a script file, for example `script-name.luau`, you can run it: ```sh copy lune script-name ``` This will look for the file `script-name.luau`**_[1]_** in a few locations: - The current directory - The folder `lune` in the current directory, if it exists - The folder `.lune` in the current directory, if it exists - The folder `lune` in the _home_ directory, if it exists - The folder `.lune` in the _home_ directory, if it exists ## Passing Command-Line Arguments Arguments can be passed to a Lune script directory from the command line when running it: ```sh copy lune script-name arg1 arg2 "argument three" ``` These arguments will then be available in your script using `process.args`: ```lua copy local process = require("@lune/process") print(process.args) --> { "arg1", "arg2", "argument three" } ``` ## Additional Commands ```sh copy lune --list ``` Lists all scripts found in `lune` or `.lune` directories, including any top-level description comments.
Lune description comments are always written at the top of a file and start with a lua-style comment arrow (`-->`). ```sh copy lune - ``` Runs a script passed to Lune using stdin. Occasionally useful for running scripts piped to Lune from external sources. --- **_[1]_** _Lune also supports files with the `.lua` extension but using the `.luau` extension is highly recommended. Additionally, if you don't want Lune to look in sub-directories or try to find files with `.lua` / `.luau` extensions at all, you can provide an absolute file path. This will disable all file path parsing and checks, and just run the file directly._