Project Structure

Constructs as they are currently, reside in one of the following 4 libraries.

Each of the 4 libraries exist in their own Bitbucket code repository and contained within the AssemblyLine workspace, detailed below:

Library ButBucket Repository NPM Scope
Core Library https://bitbucket.org/assembly-line/assembly-line-core-lib/src/main/ @assembly-line-core
Base Library https://bitbucket.org/assembly-line/assembly-line-cdk-base-lib/src/main/ @assembly-line-base
Integration Library https://bitbucket.org/assembly-line/assembly-line-integration-lib/src/main/ @assembly-line-integration
Experiences Library https://bitbucket.org/assembly-line/assembly-line-experiences-lib/src/main/ @assembly-line-experiences

All of the libraries have the same structure and the files that you would have previously created and maintained by hand, such as:

package.json
.gitignore
.npmignore

are now created and managed by projen and driven from the configuration that is defined in the .projenrc.ts file

The files that are created by projen are created as read-only and generally have the following comment at the end of the file.

"//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."

This means you only need to manage the .projenrc.ts file in order to maintain your project


If you receive a warning in your editor that the file cannot be written to, do not override this as you will lose your changes the next time you run the npx projen command.