By contributing to this project, you implicitly agree to follow our Code of Conduct.
Getting Started
All the utilities associated with the Panfactum framework are contained in the framework git repository which is hosted by GitHub. This includes the local development environment, the infrastructure modules, and the documentation website. Making changes to the Panfactum framework means updating this repository.
Setting Up Developer Environment
Follow GitHub’s instructions for forking the repository. If you plan on being a regular contributor, make sure you follow the instructions for syncing the fork with the upstream repo.
Follow the installation steps outlined in the frameworks’s getting started guide to ensure that you have the necessary utilities to launch the frameworks’s devShell. You do NOT need to do any of the subsequent steps in that guide.
You will have to run
direnv allow
to authorize repo’s.envrc
file. Once you do this, all the framework’s development utilities should be automatically installed, and you are ready to begin development.
Project Structure
The framework is broken into “packages” which can be found under the packages directory.
We currently have the following packages:
nix: Contains both the local devShell for users of the Panfactum framework and the local devShell for Panfactum developers.
cli: The next-generation CLI for the Panfactum framework. Will eventually replace the bash scripts in the devShell that run most automations.
infrastructure: Contains all the infrastructure-as-code modules that comprise the Panfactum framework.
website: Contains the source code for this website.
vault: Contains the source code for the Hashicorp Vault images that have been customized with additional extensions for the Panfactum framework.
bastion: Contains the source code for the SSH Bastion host that is used to access the Panfactum framework’s infrastructure.
scraper: The content scraper that scrapes the Panfactum reference materials to generate our search and AI interfaces.