diff --git a/GUIDELINES.md b/GUIDELINES.md new file mode 100644 index 0000000..181a949 --- /dev/null +++ b/GUIDELINES.md @@ -0,0 +1,11 @@ +# Project Guidelines + +## Core principles + +1. We strive to create an API that is easy & intuitive to use, helps users avoid making mistakes, and exposes 95%+ power of regular expressions. +2. We strive to balance replicating the [Swift Regex Builder API](https://developer.apple.com/documentation/regexbuilder) and creating an API native to TypeScript/JavaScript users. +3. We should adjust our API where there are discrepancies between Swift and JavaScript regex behavior. + +## Implementation guidelines + +1. When the user passes the text to any regex component, it should be treated as an exact string to match and not as a regex string. We might provide an escape hatch for providing raw regex string through, but the user should use it explicitly. diff --git a/README.md b/README.md index 0ed2c5a..b45f66a 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,8 @@ const regex = buildRegex(oneOrMore('Hello '), 'World'); See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow. +See the [project guidelines](GUIDELINES.md) to understand our core principles. + ## License MIT