As a developer
I would like repetitive tasks, part of contributing to the project, to be automated
So that I can be more productive and less time is spent in PRs enforcing conventions
Scenarios
Formatting js
GIVEN I am developer
AND i've edited a file that adheres to project mandated format ie. .js
WHEN I commit that file
THEN the file should be formatted according to project conventions
[ ] Hook standard into pre-commit hook via lint-staged
Formatting lua
GIVEN I am developer
AND i've edited a file that adheres to project mandated format ie. .lua
WHEN I commit that file
THEN the file should be formatted according to project conventions
[ ] Hook lua-format or some other Lua formatting tool into pre-commit hook via lint-staged
Linting js
GIVEN I am developer
AND i've edited a js file
WHEN I commit that file
THEN the file should be linted to help hedge against common bugs
[ ] Hook standard into pre-commit hook via lint-staged
Linting lua
GIVEN I am developer
AND i've edited a lua file
WHEN I commit that file
THEN the file should be linted to help hedge against common bugs
[ ] Hook lua-check into pre-commit hook via lint-staged
Commitlint
GIVEN I am developer
WHEN I commit
THEN the commit message should be linted to ensure it follows Conventional Commits style
[ ] Hook commitlint into commit-msg git hook
package.json
GIVEN I am developer
WHEN I commit a package.json file
THEN the file should automatically be formatted and sorted
[ ] Hook sort-package-json into pre-commit hook via lint-staged
Table of Contents
GIVEN I am developer
WHEN I commit a `.md` file
THEN the file should automatically be formatted and table of contents generated
[ ] Hook markdown-toc-gen into pre-commit hook via lint-staged
Test
GIVEN I am developer
WHEN I run yarn test
THEN the tests in the repo should be executed
CI
GIVEN I am developer
WHEN I open a PR or push to main
THEN CI should run that automatically lints, checks styles, and runs automated tests
[ ] Add Github Workflow with lint, test
Developer Notes
Many of these convention implementations can be copied over from the ao monorepo
Scenarios may be broken up into sub-issues, if needed.
User Story
Scenarios
Formatting js
standard
intopre-commit
hook vialint-staged
Formatting lua
lua-format
or some other Lua formatting tool intopre-commit
hook vialint-staged
Linting js
standard
intopre-commit
hook vialint-staged
Linting lua
pre-commit
hook vialint-staged
Commitlint
commitlint
intocommit-msg
git hookpackage.json
sort-package-json
intopre-commit
hook vialint-staged
Table of Contents
markdown-toc-gen
intopre-commit
hook vialint-staged
Test
CI
Developer Notes
Many of these convention implementations can be copied over from the ao monorepo
Scenarios may be broken up into sub-issues, if needed.