File lookup order | scotty | Spatie

 SPATIE

  Scotty
=========

spatie.be/open-source

  [Docs](https://spatie.be/docs)  [Scotty](https://spatie.be/docs/scotty/v1)  Advanced-usage  File lookup order

 Version   v1

 Other versions for crawler [v1](https://spatie.be/docs/scotty/v1)

  File lookup order
- [ Introduction ](https://spatie.be/docs/scotty/v1/introduction)
- [ Support us ](https://spatie.be/docs/scotty/v1/support-us)
- [ Getting started ](https://spatie.be/docs/scotty/v1/getting-started)
- [ Requirements ](https://spatie.be/docs/scotty/v1/requirements)
- [ Installation &amp; setup ](https://spatie.be/docs/scotty/v1/installation)
- [ Questions and issues ](https://spatie.be/docs/scotty/v1/questions-issues)
- [ Changelog ](https://spatie.be/docs/scotty/v1/changelog)
- [ About us ](https://spatie.be/docs/scotty/v1/about-us)

Basic Usage
-----------

- [ Your first deploy script ](https://spatie.be/docs/scotty/v1/basic-usage/your-first-deploy-script)
- [ The Scotty.sh format ](https://spatie.be/docs/scotty/v1/basic-usage/bash-format)
- [ Running tasks ](https://spatie.be/docs/scotty/v1/basic-usage/running-tasks)

Advanced Usage
--------------

- [ Doctor ](https://spatie.be/docs/scotty/v1/advanced-usage/doctor)
- [ File lookup order ](https://spatie.be/docs/scotty/v1/advanced-usage/file-lookup-order)
- [ Envoy compatibility ](https://spatie.be/docs/scotty/v1/advanced-usage/envoy-compatibility)
- [ Zero-downtime deployments ](https://spatie.be/docs/scotty/v1/advanced-usage/zero-downtime-deployments)

 File lookup order
=================

###  On this page

1. [ Specifying a file directly ](#content-specifying-a-file-directly)
2. [ How Scotty picks the parser ](#content-how-scotty-picks-the-parser)

When you run a command, Scotty looks for a file in your current directory in this order:

1. `Scotty.sh`
2. `scotty.sh`
3. `Scotty.blade.php`
4. `scotty.blade.php`
5. `Envoy.sh`
6. `envoy.sh`
7. `Envoy.blade.php`
8. `envoy.blade.php`

It uses the first one it finds. This means you can drop Scotty into a project that uses `Envoy.blade.php` and it'll pick it up automatically, no config needed.

Specifying a file directly
--------------------------------------------------------------------------------------------------------------------------------------

If your file lives somewhere else, or you want to be explicit about which one to use:

```
scotty run deploy --path=deploy/production.sh
scotty run deploy --conf=Envoy.blade.php
```

How Scotty picks the parser
-----------------------------------------------------------------------------------------------------------------------------------------

Scotty looks at the file extension to decide how to parse it:

- Files ending in `.sh` are parsed as bash (the [Scotty.sh format](/docs/scotty/v1/basic-usage/bash-format))
- Everything else is parsed as Blade (the [Envoy format](/docs/scotty/v1/advanced-usage/envoy-compatibility))

 A good
match?
-------------

### What we do best

- All things Laravel
- Custom frontend components
- Building APIs
- AI-powered features
- Simplifying things
- Clean solutions
- Integrating services

### Not our cup of tea

- WordPress themes
- Cutting corners
- Free mockups to win a job
- "Just execute the briefing"

 In short: we'd like to be a **substantial part** of your project.

 [ Get in touch via email ](mailto:info@spatie.be?subject=A%20good%20match%21&body=Tell%20us%20as%20much%20as%20you%20can%20about%0A-%20your%20online%20project%0A-%20your%20planning%0A-%20your%20budget%0A-%20%E2%80%A6%0A%0AAnything%20that%20helps%20us%20to%20start%20straightforward%21)
