Skip to main content

Configuration

One of the main features of Argon is the extreme ability to customize it to your liking. This page will guide you through the process of configuring Argon to fit your needs!

Argon CLI

Argon command line interface is configurable through two main ways.

Command Options

When running argon, you can add options to customize the behavior of the Commands. Here are some examples:

  • --docs or -d - Include documentation in the project
  • --template or -T - Select the project template

Global Config

Argon has a global config file that can be used to set default settings for the CLI. The configuration file is located at:

  • Windows: %USERPROFILE%\.argon\config.toml
  • macOS & Linux: ~/.argon/config.toml

And can have the following settings:

SettingDefaultDescription
hostlocalhostDefault server host name when live syncing
port8000Default server port when live syncing
templateplaceDefault project Template to use when creating a new project with argon init. Argon comes with five templates: place, plugin, package, model, empty and quick. But you can add your own! Just create a new folder with the desired name and contents in .argon/templates/
licenseApache-2.0Default project license SPDX identifier to use when creating a new project with argon init. Argon will pull license template from GitHub so if there is no internet connection, placeholder will be used instead
include_docstrueControls whether documentation files: README, LICENSE or CHANGELOG should be included in the project (when running argon init and present in the project template)
use_gittrueToggles the use of Git for source control. If enabled Argon will initialize a new repository and add .gitignore file (when running argon init and present in the project template )
use_wallyfalseWhether to use Wally for package management. When enabled Argon will install dependencies automatically, add wally.toml file and append Packages path to the project file (when running argon init and present in the project template )
use_selenefalseWhether to use selene for codebase linting. If enabled Argon will add selene.toml configuration file (when running argon init and present in the project template )
run_asyncfalseWhether to run Argon asynchronously every time you use argon serve, argon build or argon sourcemap (with --watch enabled). Useful when running multiple Argon instances as it will free up the terminal. To stop running Argon sessions use argon stop command
scan_portstrueWhen enabled Argon will scan for the first available port if selected one is already in use
detect_projecttrueWhether Argon should intelligently detect the project type. This allows to run roblox-ts or to install Wally packages automatically, regardless if use_wally or ts_mode settings are enabled
smart_pathsfalseIf enabled smart path resolver will be used which makes providing path arguments or options easier and faster. When active Argon will try to locate the file with its shorter form e.g. argon serve dev instead of argon serve dev.project.json
with_sourcemapfalseWhether Argon should generate sourcemap by default when running Serve or Build command. Useful for Luau LSP users
build_xmlfalseIf no path is provided, Build command will always use the Roblox XML format instead of binary
check_updatestrueWhether to check for new Argon releases on CLI startup (limited to once per hour). This setting also updates Argon plugin if install_plugin is enabled and project templates if update_templates is enabled
auto_updatefalseWhen enabled Argon will automatically install Argon updates if available. Otherwise you will be prompted for confirmation. This setting also works with install_plugin and update_templates
install_plugintrueWhether to install Roblox plugin locally by default and keep it updated when above settings are enabled
update_templatestrueWhether to update default project templates when new ones are available and check_updates setting is enabled
rojo_modefalseWhen enabled Argon will use Rojo namespace by default when creating a new project
ts_modefalseWhether to use roblox-ts by default when creating, serving or building any project
package_managernpmPackage manager to use when running roblox-ts related scripts. Currently Argon supports every major package manager: bun, npm, pnpm and yarn however, any binary that has "create" command and can execute dynamic packages will work
lua_extensionfalseToggles between .lua and .luau file extension when writing and transforming scripts
line_endingLFDefault line ending to use when writing JSON files. Possible values are: LF, CRLF, and CR
rename_instancestrueIf enabled Argon will automatically rename instances with corrupted names (by removing all Forbidden Characters) or instances that already exist (by adding UUID v4 to its name)
move_to_binfalseControls whether to move files to the system bin instead of permanently deleting them (only applies when syncing changes from Roblox Studio to the file system)
share_statstrueToggles sharing of anonymous Argon usage statistics which are displayed on the argon.wiki home page to show the size of the Argon community

Workspace Config

Works exactly the same as the Global Config but is specified at workspace level. To initialize one you need to create argon.toml file in the root of your project (right next to the Project File). If workspace config exists, it will override the global one.

note

Argon will only be able to load workspace config if it exists in the current working directory or parent directory of the PROJECT argument (only applies to init, serve, build and sourcemap commands)

Argon Plugin

Argon Roblox Studio plugin is configurable through the settings menu that can be accessed by clicking on the gear icon in the main plugin window. At the very top you can control whether to toggle settings on the:

  • Global level
  • Game level
  • Place level

Here are the settings you can change:

SettingDefaultDescription
Initial Sync PriorityServerWhich side should be considered as up to date when initially connecting (Server, Client, None)
Server HostlocalhostThe host name of the server that plugin should connect to in order to start live syncing
Server Port8000The port of the server that plugin should connect to in order to start live syncing
Auto ConnecttrueAutomatically attempt to connect to the server when you opening a new place
Auto ReconnectfalseIf the connection is lost, automatically reconnect to the server after 5 second delay
Live HydratetrueIf the target instance doesn't exist in Studio, automatically hydrate it with the server
Keep UnknownsfalseBy default keep instances that are not present in the file system instead of destroying them
Two-Way SynctrueSync changes made in Roblox Studio back to the server (local file system)
Syncback PropertiesfalseWhether all properties should be synced back to the server when Two-Way Sync is enabled or Initial Sync Priority is set to Client (does not affect scripts)
Only Code ModetrueSyncback only scripts and instances that have descendant scripts
Open In EditorfalseOpen scripts in your OS default editor instead of the Roblox Studio one
Display PromptsAlwaysWhen to show prompts for actions that require confirmation (Always, Initial, Never)
Changes Threshold5The maximum number of changes that will be automatically applied before prompting the user for confirmation
Log LevelWarnThe level of logging you want to see in the output (Off, Error, Warn, Info, Debug, Trace)
Override PackagestrueAllow writing changes made on the server side to the instances affected by PackageLink

Argon Extension

Argon Visual Studio Code extension is configurable by selecting checkboxes when running specific commands and through the editor settings that can be accessed by running Argon: Open Menu and selecting Settings from the list (it will filter the settings to only show Argon related ones).

Here are the settings that can be changed:

SettingDefaultDescription
Auto RuntrueWhether Argon should serve last used project automatically
Auto Launch StudiofalseWhether Roblox Studio should be launched automatically when running a project
Focus StudiotrueWhether Roblox Studio should be focused when executing code
Notification LevelInfoWhat level of notifications should be shown at the bottom right corner (Info, Warning, Error, Off)
Default HostlocalhostThe host name that live sync server should be running on
Default Port8000The port that live sync server should be running on
Global Config{}Editable contents of the CLI Global Config file
VerbosefalseWhether to log verbose tracing to the output panel