{"id":18026844,"url":"https://github.com/yegor256/requs","last_synced_at":"2026-03-07T21:31:07.184Z","repository":{"id":8161685,"uuid":"9583260","full_name":"yegor256/requs","owner":"yegor256","description":"Controlled Natural Language for Requirements Specifications, with Maven Plugin","archived":false,"fork":false,"pushed_at":"2026-02-16T17:45:28.000Z","size":3349,"stargazers_count":49,"open_issues_count":33,"forks_count":4,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-02-17T00:41:13.697Z","etag":null,"topics":["java","maven-plugin","natural-language-processing","requirements","requirements-management"],"latest_commit_sha":null,"homepage":"https://www.requs.org/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yegor256.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2013-04-21T17:55:05.000Z","updated_at":"2026-02-08T12:51:14.000Z","dependencies_parsed_at":"2023-11-25T09:43:53.638Z","dependency_job_id":"5b0203a4-5396-4749-b601-af71504bb7cc","html_url":"https://github.com/yegor256/requs","commit_stats":null,"previous_names":["tpc2/requs"],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/yegor256/requs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegor256%2Frequs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegor256%2Frequs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegor256%2Frequs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegor256%2Frequs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yegor256","download_url":"https://codeload.github.com/yegor256/requs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegor256%2Frequs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30231599,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T19:01:10.287Z","status":"ssl_error","status_checked_at":"2026-03-07T18:59:58.103Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","maven-plugin","natural-language-processing","requirements","requirements-management"],"created_at":"2024-10-30T08:08:15.465Z","updated_at":"2026-03-07T21:31:06.752Z","avatar_url":"https://github.com/yegor256.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"logo.svg\" width=\"192\" /\u003e\n\n[![EO principles respected here](https://www.elegantobjects.org/badge.svg)](https://www.elegantobjects.org)\n[![DevOps By Rultor.com](http://www.rultor.com/b/yegor256/requs)](http://www.rultor.com/p/yegor256/requs)\n[![We recommend IntelliJ IDEA](https://www.elegantobjects.org/intellij-idea.svg)](https://www.jetbrains.com/idea/)\n\n[![mvn](https://github.com/yegor256/requs/actions/workflows/mvn.yml/badge.svg)](https://github.com/yegor256/requs/actions/workflows/mvn.yml)\n[![codecov](https://codecov.io/gh/yegor256/requs/branch/master/graph/badge.svg)](https://codecov.io/gh/yegor256/requs)\n[![PDD status](http://www.0pdd.com/svg?name=yegor256/requs)](http://www.0pdd.com/p?name=yegor256/requs)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.requs/requs/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.requs/requs)\n[![Hits-of-Code](https://hitsofcode.com/github/yegor256/requs)](https://hitsofcode.com/view/github/yegor256/requs)\n\nREQUS is a controlled natural language (CNL) for requirements specifications.\nIt is explained in details in [this paper](https://www.yegor256.com/pdf/2021/requs.pdf),\nwhich was published in the\n[Proceedings of the 1st ACM SIGPLAN International Workshop on Beyond Code: No Code (BCNC)](https://dl.acm.org/doi/abs/10.1145/3486949.3486963).\nMore details about REQUS syntax you can find at [www.requs.org](http://www.requs.org/).\n\nIn order to use it in a Java project, just add this plugin to your `pom.xml`\n(get the latest version [from here](https://github.com/yegor256/requs/releases)):\n\n```xml\n\u003creporting\u003e\n  \u003cplugins\u003e\n    \u003cplugin\u003e\n      \u003cgroupId\u003eorg.requs\u003c/groupId\u003e\n      \u003cartifactId\u003erequs-maven-plugin\u003c/artifactId\u003e\n      \u003cversion\u003e...\u003c/version\u003e\n    \u003c/plugin\u003e\n  \u003c/plugins\u003e\n\u003c/reporting\u003e\n```\n\nThen, add REQUS files to `src/main/requs` and name them as `main.req`, etc.\n\nThen, run `mvn clean site` and you will see a report at `target/site/requs`.\n\n## How to contribute?\n\nFork the repository, make changes, submit a pull request.\nWe promise to review your changes same day and apply to\nthe `master` branch, if they look correct.\n\nPlease run Maven build before submitting a pull request:\n\n```\n$ mvn clean install -Pqulice\n```\n\nTo render the site and edit its pages:\n\n```\n$ cd jekyll\n$ bundle install\n$ bundle exec jekyll serve --drafts\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyegor256%2Frequs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyegor256%2Frequs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyegor256%2Frequs/lists"}