permaweb / aos

An operating system for AO: The hyper parallel computer
https://ao.g8way.io
Other
68 stars 46 forks source link

chore(dev): automate repetitive tasks and project convetions #313

Open TillaTheHun0 opened 1 month ago

TillaTheHun0 commented 1 month ago

User Story

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

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

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

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

Commitlint

GIVEN I am developer
WHEN I commit
THEN the commit message should be linted to ensure it follows Conventional Commits style

package.json

GIVEN I am developer
WHEN I commit a package.json file
THEN the file should automatically be formatted and sorted

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

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

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.