Configuration¶
What is the .beamable folder?¶
The Beam CLI uses a hidden .beamable/ folder to manage state between multiple invocations of beam commands. The .beamable/ folder has information for 1 Beamable project.
Every time you execute a beam command, it searches for the nearest .beamable/ folder in the parent lineage of your current directory. If you run beam config in a folder containing .beamable/, or any child folder, then that .beamable/ folder is used for the configuration.
Example¶
With given structure:
1 2 3 4 5 6 7 | |
| call directory | which config would be used |
|---|---|
mainFolder |
mainFolder/.beamable |
childFolder |
mainFolder/childFolder/.beamable |
yetAnotherFolder |
mainFolder/childFolder/.beamable |
someOtherFolder |
no config is available |
Validation¶
From any folder, you can run the beam config command to print information about your current Beamable folder.
In the example directory structure above, if the beam config command was invoked from the mainFolder, it would log information about the mainFolder/.beamable folder.
1 2 3 4 5 6 7 | |
However, if the beam config command was invoked from the someOtherFolder path, you should expect to see an error, because there is no .beamable folder within the parent linear.
1 2 3 4 5 6 7 8 9 10 11 | |
Dotnet Tool Folder¶
The Beamable CLI executes as a local dotnet tool installation. That means that there should be a .config/ folder in your project. There should be a file called dotnet-tools.json in the folder, declaring the version of the CLI you are using.
1 2 3 4 5 6 7 8 9 10 11 12 | |
!!! info The folder can exist in a higher folder.
Normally the .config/ folder exists as a sibling of the .beamable/ folder. However, the .config/ folder may exist in a parent folder. The closest .config/ folder will be used. See the dotnet tool documentation for more information.
Workspace Overview¶
A Beamable workspace is defined by the existence of a .beamable/ folder.
| Path | Note |
|---|---|
config.beam.json |
this file must exist, and contains your project's connection information. |
/temp |
this folder should not be included in version control. It contains information about your current session. The contents of this folder may be discarded at any time |
/shared |
this folder contains information that will be shared with other developers in the project |
/local |
this folder should not be included in version control. It contains local information specific to your session |