Skip to content

askui/askui

Repository files navigation

askui logo askui logo

Reliable, automated end-to-end-automation that only depends on what is shown on your screen instead of the technology or platform you are running on


What Can Be Said Can Be Solved

Disclaimer

This repo contains the AskUI SDK (ADK) written in TypeScript. Releases are done from the root repository. This may change in the future as we plan to include also packages, libraries etc. written in other languages in this repo to make the power of AskUI available to non-typescript/-javascript developers as well.

Repository Structure

At root level we store the configuration for commit hooks, CI/CD and releasing a new version of the ADK.

Under packages you find the ADKs for different languages.

Installation

Run an npm install inside the root directory to install the necessary dependencies for commit hooks and releasing a new version.

$ npm install

TypeScript ADK

Run npm install inside packages/askui-nodejs to install the dependencies.

To build the TypeScript ADK run

npm run build

Contributing

Branching

Your branch name should conform to the format <issue id>-<issue title lower-cased and kebab-cased>, e.g., let's say you have an issue named Hello World with id AS-101, the the branch name would be AS-101-hello-world. We use the issue id prefix to prepend a link to the issue to the commit message header. In some cases, when doing a quick fix of a typo etc. when there is no issue, feel free to just use a descriptive name of what you are doing, e.g., fix-typo-in-example-readme.

Commit Message Standard

Commit messages should conform to Conventional Commits Message Standard. Exceptions to this rule may be merge commits.

Githooks

This monorepo uses githooks with husky to lint and test the code, to help you stick to the commit message standard by opening up a cli for constructing the commit message on each commit, prepending the commit message with the issue number or linting the commit message etc. In some cases, e.g., when using a Git client such as Git Tower or GitKraken, cherry-picking, rebasing or in a ci pipeline, you may want to disable githooks, especially the interactive cli.

For skipping the interactive cli when commiting, set the environment variable SKIP_CZ_CLI to true.

$ export SKIP_CZ_CLI=true

For skipping all githooks, set the environment variable HUSKY to 0.

$ export HUSKY=0

In a ci pipeline, the githooks are skipped by default.