Configuration

What is the .beamable folder?

The Beam CLI uses a ./beamable folder to manage state between multiple invocations of beam commands.
The ./beamable folder has information for 1 Beamable project.
Everytime 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.

We can also pass --dir <directory_path> flag to beam command in order to specify specific directory to use as config directory.

Example

With given structure:

mainFolder
├───.beamable
└───childFolder
    ├───.beamable
    └───yetAnotherFolder
call directorywhich config would be used
mainFoldermainFolder/.beamable
childFoldermainFolder/childFolder/.beamable
yetAnotherFoldermainFolder/childFolder/.beamable

Folder structure

The one file that always will and should be is config-defaults.json containing info about host, CID and PID of current configuration.
The rest of the files are described in the table below:

pathdescriptioncan be included in VCS
.gitignoreDefault rules what should not be included in git VCSyes
user-token.jsonFile containing local user credentialsno
beamoLocalManifest.jsonConfig representation of Beamo Service Definitionsyes
beamoLocalRuntime.jsonDescription of existing local service instancesno
localTags.jsonFile containing tags of local contentyes
Content/*jsonFiles describing each contentyes

Soon there should be option to generate ignore files for at least most popular VCS using beam vcs generate-ignore-file --type git|p4|svn command.