Skip to content

Commit 71c64d0

Browse files
committed
docs: work on 12-factor doc
1 parent 911b80a commit 71c64d0

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

doc/12-FACTOR.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
This project conforms to [12-factor methodology](https://12factor.net/). The 12-Factor methodology is a set of best practices for building modern, scalable, maintainable software-as-a-service apps. These principles were first presented by engineers at Heroku, a cloud platform as a service (PaaS) company. Following are the salient points of how this project adopts these best practices.
44

55
- 1. **Codebase**: [] One codebase tracked in revision control, many deploys
6-
- 2. **Dependencies**: [] Explicitly declare and isolate dependencies. We're using a Python virtual environment along with a requirements.txt file to manage package versions. We also use Dependabot and MergeBot on GitHub Actions to periodically monitor and update package versions.
6+
- 2. **Dependencies**: [] Explicitly declare and isolate dependencies. We're using a Python virtual environment along with a requirements.txt file to manage package versions. We also use Dependabot and Mergify on GitHub Actions to periodically monitor and update package versions.
77
- 3. **Config**: [] Store config in the environment. This project implements a special [.env](../.env) file, which locally stores all configuration information for the package.
88
- 4. **Backing services**: [] Treat backing services as attached resources. We're using remote [OpenAI Api](https://openai.com/) and [MySql](https://www.mysql.com/)
99
- 5. **Build, release, run**: [] Strictly separate build and run stages. 1-click `init`, `build`, `test`, `run`, `release` and `tear-down` are implemented in Makefile.
@@ -14,3 +14,32 @@ This project conforms to [12-factor methodology](https://12factor.net/). The 12-
1414
- 10. **Dev/prod parity**: [] Keep development, staging, and production as similar as possible. The repo for this project has `alpha`, `beta`, `next`, and `main` branches.
1515
- 11. **Logs**: [] Treat logs as event streams. We get this "for free" from Python logging.
1616
- 12. **Admin processes**: [] Run admin/management tasks as one-off processes. All admin processes are implemented with GitHub Actions and other GitHub management features.
17+
18+
Additionally, we leverage pre-commit to enforce code formatting, linting and to check all of the follow on each commit:
19+
20+
```console
21+
codespell................................................................Passed
22+
prettier.................................................................Passed
23+
black................................................(no files to check)Skipped
24+
flake8...............................................(no files to check)Skipped
25+
isort................................................(no files to check)Skipped
26+
pylint...............................................(no files to check)Skipped
27+
bandit...............................................(no files to check)Skipped
28+
fix utf-8 byte order marker..............................................Passed
29+
fix python encoding pragma (deprecated)..............(no files to check)Skipped
30+
check for case conflicts.................................................Passed
31+
check json...........................................(no files to check)Skipped
32+
check for merge conflicts................................................Passed
33+
check for broken symlinks............................(no files to check)Skipped
34+
check toml...............................................................Passed
35+
check xml............................................(no files to check)Skipped
36+
check yaml...........................................(no files to check)Skipped
37+
detect destroyed symlinks................................................Passed
38+
detect aws credentials...................................................Passed
39+
detect private key.......................................................Passed
40+
fix end of files.........................................................Passed
41+
trim trailing whitespace.................................................Passed
42+
check for case conflicts.................................................Passed
43+
check for merge conflicts................................................Passed
44+
debug statements (python)............................(no files to check)Skipped
45+
```

0 commit comments

Comments
 (0)