projects:projects
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| projects:projects [2026/05/31 01:26] – jhagstrand | projects:projects [2026/06/20 01:37] (current) – [Coding Style] jhagstrand | ||
|---|---|---|---|
| Line 19: | Line 19: | ||
| [[projects: | [[projects: | ||
| + | |||
| === Apps === | === Apps === | ||
| - | [[projects:home:home]] - new home page | + | [[projects:homepage:homepage]] - homepage for voyc.com |
| + | |||
| + | [[projects: | ||
| + | |||
| + | [[projects: | ||
| [[projects: | [[projects: | ||
| Line 56: | Line 61: | ||
| [[projects: | [[projects: | ||
| - | [[https:// | + | [[projects: |
| + | |||
| + | [[https:// | ||
| + | |||
| + | [[https:// | ||
| =====Developer Guidelines===== | =====Developer Guidelines===== | ||
| + | |||
| + | ==== Coding Style ==== | ||
| + | |||
| + | Coding style: | ||
| + | * use the tab character to indent | ||
| + | * use unix line-endings | ||
| + | |||
| + | javascript | ||
| + | |||
| + | php | ||
| + | |||
| + | python | ||
| + | |||
| + | ==== File Organization ==== | ||
| + | |||
| + | project/ | ||
| + | .env | ||
| + | config.php | ||
| + | config-example.php | ||
| + | html/ ← docroot - index.html | ||
| + | svc/ ← webservice stubs, php or python | ||
| + | js/ ← project-specific javascript code | ||
| + | lib/ ← generic javascript code | ||
| + | css/ ← project-specific css styles | ||
| + | lib/ ← generic css styles | ||
| + | php/ ← project-specific php code | ||
| + | lib/ ← generic php code | ||
| + | python/ | ||
| + | lib/ ← generic python code | ||
| + | db/ | ||
| + | schema.sql | ||
| + | seed.sql | ||
| + | reset.sh | ||
| ====.gitignore==== | ====.gitignore==== | ||
| Line 67: | Line 109: | ||
| css.min | css.min | ||
| index.php | index.php | ||
| + | RELEASES.md | ||
| + | .aider* | ||
| + | config.php | ||
| ==== Duplicate Content ==== | ==== Duplicate Content ==== | ||
| Line 169: | Line 213: | ||
| git pull origin master | git pull origin master | ||
| git push gitlab master | git push gitlab master | ||
| + | |||
| + | ==== voyc release management ==== | ||
| + | |||
| + | Trends in release management as of 2026. | ||
| + | * 50/72 rule. A commit message has three lines (title, blank, body). | ||
| + | * Conventional Commits. | ||
| + | * Semantic Versioning. | ||
| + | |||
| + | {{https:// | ||
| + | [[https:// | ||
| + | [[https:// | ||
| + | |||
| + | At voyc we use these above trends in commit messages and tag messages. | ||
| + | |||
| + | At deployment, a file named RELEASES.md is generated from the tag messages by a script. | ||
| + | |||
| + | [[..:git | more about log and tag]] | ||
| + | |||
| + | # All tags with their full messages, most recent first | ||
| + | git tag -l --sort=-version: | ||
| + | | ||
| + | git for-each-ref --sort=-version: | ||
| + | |||
| + | |||
| + | Practices: | ||
| + | * Commits made only in feature branch. | ||
| + | * We let aider auto-commit every change. | ||
| + | * At merge, we generally keep the detailed commits, but squash is optional. | ||
| + | * The commit log is for developers. | ||
| + | * At release, we create a tag, observing SemVer, with hand-written message. | ||
| + | * Public release history is generated from the tag messages. | ||
| + | * Conventional commits types are used only on the commit messages, not the tag messages. | ||
| + | |||
| + | |||
| + | ==== One-time Fix Privacy in Log ==== | ||
| + | |||
| + | # in laptop dev repo | ||
| + | git checkout fixlog | ||
| + | git filter-repo --mailmap .mailmap --force | ||
| + | | ||
| + | git checkout master | ||
| + | git merge fixlog | ||
| + | git branch -d fixlog | ||
| + | | ||
| + | git push origin master --force --tags | ||
| + | git push gitlab master --force --tags | ||
| + | |||
| + | ==== Start Branch ==== | ||
| + | git branch peaceful | ||
| + | |||
| + | ==== Save Work ==== | ||
| + | # save work | ||
| + | git checkout peaceful | ||
| + | git push origin peaceful | ||
| + | | ||
| + | ==== End Branch ==== | ||
| + | git checkout master | ||
| + | git merge --squash peaceful | ||
| + | git commit -m ' | ||
| + | git branch -D peaceful | ||
| + | git push origin master | ||
| + | git push origin --delete peaceful | ||
| + | |||
| + | ==== Deploy ==== | ||
| + | |||
| + | git tag v0.2.0 -m' | ||
| + | | ||
| + | git push origin master --tags | ||
| + | git push gitlab master --tags | ||
| + | | ||
| + | # in production webserver | ||
| + | git fetch origin | ||
| + | git reset --hard origin/ | ||
| + | | ||
| + | git push gitlab master --tags | ||
projects/projects.1780205184.txt.gz · Last modified: 2026/05/31 01:26 by jhagstrand