A multi-tenant training platform that allows organizations to manage trainers and training content.
- Ruby 3.4.5
- Node.js
- PostgreSQL
Start the development database by running:
$ docker compose up postgres -d
Install development Node.js dependencies by running:
$ npm install
Set up the development application by running:
$ bin/setup
Start the development application server by running:
$ bin/dev
To run non-system tests, use:
$ bin/rails test
To run system tests, use:
$ bin/rails test:system
To run all tests, use:
$ bin/rails test:all
RuboCop is used for linting Ruby files. To run it in safe auto-correct mode, use:
$ bundle exec rubocop -a
Herb is used for formatting and linting ERB files.
To lint ERB files, use:
$ npm run herb:lint
To format ERB files, use:
$ npm run herb:format
docs/app_spec.txtcontains the application specification.docs/feature_list.jsoncontains a prioritized list of features.
To create a new GitHub issue, follow these steps:
- Run the
pick-featureskill to select a feature from the feature list. - Run the
draft-issueskill to generate a draft of the new issue as a local Markdown file. - Run the
submit-issueskill to submit the issue to GitHub.
To start working on an issue, follow these steps:
- Run
pick-issuewith the issue number to read the issue. If the issue contains human todos, they will be added todocs/issues/ISSUE_NUMBER/human_todos.md. - Complete the human todos and run
commit-human-todos. - Run
fix-issueto implement a fix for the issue.
To start reviewing work, follow these steps:
- Run
review-fixwith the issue number to review the changes. If fixes need to be made, they will be added as todos todocs/issues/ISSUE_NUMBER/fix_todos.md. - In a new session, run
fix-todoswith the issue number to fix the findings.
Finally, to submit a pull request for the work, run submit-pr with the issue number.