Project Structure

A lono project structure looks something like this:

├── blueprints
│   └── demo
│       └── app
│           └── templates
│               └── demo.rb
├── configs
│   ├── demo
│   │   ├── params
│   │   │   │── development.txt
│   │   │   └── production.txt
│   │   └── variables
│   │       ├── development.rb
│   │       └── production.rb
│   └── settings.yml
└── output
    └── demo
        ├── params
        │   │── development.json
        │   └── production.json
        └── templates
            └── demo.yml

Files and Folders

File / Folders Description
blueprints Where project blueprints live. Blueprints essentially contain code to build CloudFormation templates. They can be configured with configs.
configs/demo/params Where CloudFormation run-time parameters can be defined. Parameters are defined with env-like files. These are blueprint specific.
configs/demo/variables Where Lono shared variables can be defined. Shared Variables can be used to affect the way templates are built at compile time. These are blueprint specific.
configs/settings.yml Lono’s behavior can be tailored with Settings.
output/demo/params Where the generated CloudFormation parameters files get written to. These are blueprint specific.
output/demo/templates Where the generated CloudFormation templates get written to. These are blueprint specific.

That hopefully gives you a basic idea of an lono project structure.


There are a few Lono conceptual components like blueprints, templates, params, variables, etc. These are covered in the Core Concepts docs.

Blueprint Structures

Each blueprint type has it’s own directory structure. Refer to each blueprint structure docs:

Pro tip: Use the <- and -> arrow keys to move back and forward.

Edit this page

See a typo or an error? You can improve this page. This website is available on GitHub and contributions are encouraged and welcomed. We love pull requests from you!