diff --git a/Coldstart.md b/Coldstart.md new file mode 100644 index 0000000..90a5422 --- /dev/null +++ b/Coldstart.md @@ -0,0 +1,70 @@ +# Cold start + +## Author Introduction + +Hello Qwen. My name is Charles N Wyble (aka @REachableCEO) (please address/reference me at all times as "the founder"). + +I need you to create a QWEN.md file for this entire project to follow. This will be created at the top level of the project and have global rules for the entire project. I will have this same process repeated for each of the four project components with project component specific rules. + +## Project Introduction + +This is the TSYS Group Development Stack. It has four sub projects (or "stacks"): + +- Cloudron : Packaging up of a large number of upstream free/libre/open applications for deployment onto Cloudron (the TSYS Group PAAS of choice) +- Lifecycle: Test/build/package/release operations for all of TSYS Group +- Support: Developer experience and quality of life tooling (off the shelf applications). Docker compose files/wrapper scripts for the support stack. +- Toolbox: Development containers. Meant to be in the "inner loop" day to day with the developer as they work. + +Over the next 48 hours, the goal is to fully ship the following three components: + +Cloudron +Lifecycle +Toolbox + +They've had the most work done in various iterations and are the most mature/well defined. + +Then over Saturday/Sunday, the goal is to fully ship : + +Lifecycle + +With QA/testing/feedback/acceptnce testing/iterating happening 2025-11-10 to 2025-11-15 + +It's a big project. We need to move quickly and carefully. Let's get this fully shipped by 2025-11-15. + +## Project Rules + +Here are the rules.... + + +### Git + +- Use atomic commits +- Use conventional commits +- Commit early and often +- Push when you feel its prudent +- We use gitea. The tea command is available via the docker image gitea/tea (already on this system) + +### QA + +- Please QA your work EARLY and OFTEN. Especially before conducting long expensive operations like docker image builds. +- Use the hadolint command. It is available via the docker image: hadolint/hadolint (already on this system) +- Use the shellcheck command. It is available via the docker image: koalaman/shellcheck (already on this system) +- Use the trivy command. It is available via the docker image: aquasec/trivy (already on this system) +- Use the syft command. It is available via the docker image: anchore/syft (already on this system) +- Use the dive command. It is available via the docker image: wagoodman/dive (already on this system) +- Use the dockle command. It is available via the docker image: goodwithtech/dockle (already on this system) +- Do NOT presume your work is OK. Check it. Then check it again. Then check it again. All work must be checked an absolute minium of five times. Each check, any issues that are found, fully resolve them before conducting another check. +- All work MUST be FULLY VALIDATED. Do NOT mark a task as complete until it's been validated. + +### Documentation + +- Maintain documentation (README.md and other files as you feel appropriate) as you work. +- All links you put into documentation MUST be clickable when rendered. +- Maintain a high fidelity JOURNAL.llm file as you work. It should be for your consumption. +- Maintain a high fidelity JOURNAL.md file as you work. It should be for human consumption. +- In these JOURNAL files keep track of what you have done, what you need todo, what works, what doesn't work, thoughts/ideas/feelings etc. They should be the long term memory/log of the project. +- All documentation you create (for human consumption) must be BEAUTIFUL! This means use tables (always with the text left justified), graphics, icons, headers, tables of contents, whitespace etc. + +### Multiple components + +- Chats will be started at the project root level or project component root level. Only orient yourself from your invoked location down. Do not consider sibling directories. Confine yourself to the directory (and below) you were invoked in. \ No newline at end of file