# Options All files are placed in the `.mainframer` directory in the root directory of your project. ``` . ├── .mainframer │ ├── config │ ├── ignore │ ├── localignore │ └── remoteignore │── mainframer └── your_project_files ``` ## Configuration Files ### `config` * Format: [properties](https://en.wikipedia.org/wiki/.properties). * Required: yes. * Commit into version control system: no. ```properties remote_machine={REMOTE_MACHINE_ALIAS} local_compression_level={LEVEL} remote_compression_level={LEVEL} ``` * `remote_machine` — remote machine name from SSH config. * Required: yes. * `local_compression_level` — compression level used to send files from local machine to remote one. * Required: no. * Possible values: `0`—`9`. * Default value: `1`. * `remote_compression_level` — compression level used to send files from remote machine to local one. * Required: no. * Possible values: `0`—`9`. * Default value: `1`. ## Ignore Rule Files Ignoring large directories (`/.git`, etc) and files not required for remote command execution can significantly speedup sync process. Please see our samples: * [Gradle](../samples/gradle) * [Gradle Android](../samples/gradle-android) * [Rust](../samples/rust) * [Clang](../samples/clang) * [GCC](../samples/gcc) * [Maven](../samples/mvn) * [Buck](../samples/buck) * [Go](../samples/go) #### `ignore` Used both when transferring files from local machine to remote one and vice versa. * Format: `rsync` exclusion rules. * Be aware that it is similar but not the same as `.gitignore`. * Refer to [rsync `Include/exclude pattern rules`](https://download.samba.org/pub/rsync/rsync.html). * Required: no. * Commit into version control system: yes. #### `localignore` Used only when transferring files from local machine to remote one. * Format: `rsync` exclusion rules. * Be aware that it is similar but not the same as `.gitignore`. * Refer to [rsync `Include/exclude pattern rules`](https://download.samba.org/pub/rsync/rsync.html). * Required: no. * Commit into version control system: yes. #### `remoteignore` Used only when transferring files from remote machine to local one. * Format: `rsync` exclusion rules. * Be aware that it is similar but not the same as `.gitignore`. * Refer to [rsync `Include/exclude pattern rules`](https://download.samba.org/pub/rsync/rsync.html). * Required: no. * Commit into version control system: yes.