Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -112,3 +112,9 @@ fabric.properties

# Claude Code
.claude/

# Antora
.cache/
node_modules/
docs/build/
ui-bundle.zip
29 changes: 29 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Contributing to reqstool documentation

Thank you for your interest in contributing!

For DCO sign-off, commit conventions, and code review process, see the organization-wide [CONTRIBUTING.md](https://github.com/reqstool/.github/blob/main/CONTRIBUTING.md).

## Prerequisites

- Node.js 18+
- npm
- All reqstool repos cloned as siblings (for local build)

## Setup

```bash
git clone https://github.com/reqstool/reqstool-docs.git
cd reqstool-docs
npm install
```

## Build locally

```bash
# Build using local filesystem paths
npm run build:local

# Preview the built site
npm run preview
```
51 changes: 49 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,52 @@
# Reqstool Documentation

This repository/project is used to aggregate documentation from other reqstool repositories.
[![Documentation](https://img.shields.io/badge/Documentation-blue?style=for-the-badge&link=docs)](https://reqstool.github.io)

See GitHub Pages for this repository/project.
Central documentation site for the [reqstool](https://github.com/reqstool) ecosystem. Built with [Antora](https://antora.org/) and published to GitHub Pages.

**Live site:** [https://reqstool.github.io](https://reqstool.github.io)

## Included components

| Component | Source repo |
|-----------|------------|
| reqstool CLI | [reqstool-client](https://github.com/reqstool/reqstool-client) |
| Java Annotations | [reqstool-java-annotations](https://github.com/reqstool/reqstool-java-annotations) |
| Maven Plugin | [reqstool-java-maven-plugin](https://github.com/reqstool/reqstool-java-maven-plugin) |
| Gradle Plugin | [reqstool-java-gradle-plugin](https://github.com/reqstool/reqstool-java-gradle-plugin) |
| Python Decorators | [reqstool-python-decorators](https://github.com/reqstool/reqstool-python-decorators) |
| Hatch Plugin | [reqstool-python-hatch-plugin](https://github.com/reqstool/reqstool-python-hatch-plugin) |
| Poetry Plugin | [reqstool-python-poetry-plugin](https://github.com/reqstool/reqstool-python-poetry-plugin) |
| VS Code Extension | [reqstool-vscode-extension](https://github.com/reqstool/reqstool-vscode-extension) |
| TypeScript Tags | [reqstool-typescript-tags](https://github.com/reqstool/reqstool-typescript-tags) |
| AI Integration | [reqstool-ai](https://github.com/reqstool/reqstool-ai) |
| Demo Project | [reqstool-demo](https://github.com/reqstool/reqstool-demo) |

## Build locally

Prerequisites: Node.js 18+

```bash
# Install dependencies
npm install

# Build using local filesystem paths (requires all repos cloned as siblings)
npm run build:local

# Preview the built site
npm run preview
```

## Adding a new component

1. Add Antora docs structure to your repo (`docs/antora.yml`, `docs/modules/ROOT/pages/`, etc.)
2. Add the repo as a content source in `docs/antora-playbook.yml` and `docs/local-antora-playbook.yml`
3. Add navigation links in the landing page (`docs/modules/ROOT/pages/components.adoc`)

## Contributing

See the organization-wide [CONTRIBUTING.md](https://github.com/reqstool/.github/blob/main/CONTRIBUTING.md).

## License

MIT License.
34 changes: 25 additions & 9 deletions docs/antora-playbook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,45 @@ runtime:

site:
title: Requirements Tool
url: https://github.com/Luftfartsverket/reqstool-docs
start_page: reqstool-client::index.adoc
url: https://reqstool.github.io
start_page: reqstool::index.adoc

content:
sources:
- url: https://github.com/Luftfartsverket/reqstool-client
- url: .
branches: HEAD
start_path: docs
- url: https://github.com/Luftfartsverket/reqstool-demo
- url: https://github.com/reqstool/reqstool-client
branches: HEAD
start_path: docs
- url: https://github.com/Luftfartsverket/reqstool-java-annotations
- url: https://github.com/reqstool/reqstool-demo
branches: HEAD
start_path: docs
- url: https://github.com/Luftfartsverket/reqstool-java-maven-plugin
- url: https://github.com/reqstool/reqstool-java-annotations
branches: HEAD
start_path: docs
- url: https://github.com/Luftfartsverket/reqstool-python-decorators
- url: https://github.com/reqstool/reqstool-java-maven-plugin
branches: HEAD
start_path: docs
- url: https://github.com/Luftfartsverket/reqstool-python-poetry-plugin
- url: https://github.com/reqstool/reqstool-java-gradle-plugin
branches: HEAD
start_path: docs
- url: https://github.com/Luftfartsverket/reqstool-python-hatch-plugin
- url: https://github.com/reqstool/reqstool-python-decorators
branches: HEAD
start_path: docs
- url: https://github.com/reqstool/reqstool-python-poetry-plugin
branches: HEAD
start_path: docs
- url: https://github.com/reqstool/reqstool-python-hatch-plugin
branches: HEAD
start_path: docs
- url: https://github.com/reqstool/reqstool-vscode-extension
branches: HEAD
start_path: docs
- url: https://github.com/reqstool/reqstool-typescript-tags
branches: HEAD
start_path: docs
- url: https://github.com/reqstool/reqstool-ai
branches: HEAD
start_path: docs

Expand All @@ -50,3 +65,4 @@ ui:
bundle:
url: https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable
snapshot: true
supplemental_files: ./../supplemental-ui
8 changes: 8 additions & 0 deletions docs/antora.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/asciidoctor/asciidoctor-intellij-plugin/main/src/main/resources/jsonSchemas/antoraComponentSchema.json

name: reqstool
title: Requirements Tool
version: ~

nav:
- modules/ROOT/nav.adoc
69 changes: 69 additions & 0 deletions docs/local-antora-playbook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/asciidoctor/asciidoctor-intellij-plugin/main/src/main/resources/jsonSchemas/antoraPlaybookSchema.json
# For local development only. Published site: https://reqstool.github.io

runtime:
cache_dir: ../.cache/antora

site:
title: Requirements Tool
url: https://reqstool.github.io
start_page: reqstool::index.adoc

content:
sources:
- url: ~+
branches: HEAD
start_path: docs
- url: ../reqstool-client
branches: HEAD
start_path: docs
- url: ../reqstool-demo
branches: HEAD
start_path: docs
- url: ../reqstool-java-annotations
branches: HEAD
start_path: docs
- url: ../reqstool-java-maven-plugin
branches: HEAD
start_path: docs
- url: ../reqstool-java-gradle-plugin
branches: HEAD
start_path: docs
- url: ../reqstool-python-decorators
branches: HEAD
start_path: docs
- url: ../reqstool-python-poetry-plugin
branches: HEAD
start_path: docs
- url: ../reqstool-python-hatch-plugin
branches: HEAD
start_path: docs
- url: ../reqstool-vscode-extension
branches: HEAD
start_path: docs
- url: ../reqstool-typescript-tags
branches: HEAD
start_path: docs
- url: ../reqstool-ai
branches: HEAD
start_path: docs

asciidoc:
attributes:
experimental: ""
idprefix: ""
idseparator: "-"
page-pagination: ""
kroki-server-url: https://kroki.io
kroki-fetch-diagram: true
allow-uri-read: true
sectnumlevels: 4
toclevels: 3
extensions:
- asciidoctor-kroki

ui:
bundle:
url: ./../.cache/antora/ui-bundle.zip
snapshot: false
supplemental_files: ./../supplemental-ui
9 changes: 9 additions & 0 deletions docs/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
* xref:index.adoc[Home]
* xref:overview.adoc[Overview]
* xref:background.adoc[Background]
* xref:terminology.adoc[Terminology]
* xref:concepts.adoc[Concepts]
* xref:files-and-directories.adoc[Files and Directories]
* xref:data.adoc[Data]
* xref:getting-started.adoc[Getting Started]
* xref:components.adoc[Components]
7 changes: 7 additions & 0 deletions docs/modules/ROOT/pages/background.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
= Background

The idea behind reqstool was conceived by Jimisola Laursen (@jimisola/@lfvjimisola) when working for LFV (Sweden's leading Air Navigation Provider). The aviation industry has strong regulations in all aspects including software with a lot of requirements.

The idea is to have defined requirements (own or external) and be able to specify _where a requirement is implemented_ and whether _tests for the requirement have passed or failed_.

Some would argue that in an ideal world, each line of code would be directly related to a requirement...
101 changes: 101 additions & 0 deletions docs/modules/ROOT/pages/components.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
= Components

== Core

[cols="2,3,1,1"]
|===
| Component | Description | Language | Package

| xref:reqstool-client::index.adoc[Command Line Client]
| Core CLI tool for generating reports, JSON exports, and status checks
| Python
| https://pypi.org/project/reqstool/[PyPI]

|===

== Java

[cols="2,3,1,1"]
|===
| Component | Description | Language | Package

| xref:reqstool-java-annotations::index.adoc[Java Annotations]
| `@Requirements` and `@SVCs` annotations
| Java 21+
| https://central.sonatype.com/search?q=io.github.reqstool[Maven Central]

| xref:reqstool-java-maven-plugin::index.adoc[Maven Plugin]
| Maven build plugin for assembling reqstool ZIP artifacts
| Java 21+
| https://central.sonatype.com/search?q=io.github.reqstool[Maven Central]

| xref:reqstool-java-gradle-plugin::index.adoc[Gradle Plugin]
| Gradle build plugin for assembling reqstool ZIP artifacts
| Java 21+
| https://plugins.gradle.org/plugin/io.github.reqstool.gradle-plugin[Gradle Plugin Portal]

|===

== Python

[cols="2,3,1,1"]
|===
| Component | Description | Language | Package

| xref:reqstool-python-decorators::index.adoc[Python Decorators]
| `@Requirements` and `@SVCs` decorators for Python
| Python 3.13+
| https://pypi.org/project/reqstool-python-decorators/[PyPI]

| xref:reqstool-python-hatch-plugin::index.adoc[Hatch Plugin]
| Hatch build hook for collecting annotations and test results
| Python
| https://pypi.org/project/reqstool-python-hatch-plugin/[PyPI]

| xref:reqstool-python-poetry-plugin::index.adoc[Poetry Plugin]
| Poetry build plugin for collecting annotations and test results
| Python
| https://pypi.org/project/reqstool-python-poetry-plugin/[PyPI]

|===

== TypeScript / JavaScript

[cols="2,3,1,1"]
|===
| Component | Description | Language | Package

| xref:reqstool-typescript-tags::index.adoc[TypeScript Tags]
| Annotation tag processor for TypeScript/JavaScript projects
| TypeScript
| https://www.npmjs.com/package/@reqstool/reqstool-typescript-tags[npm]

|===

== Editor & Tooling

[cols="2,3,1"]
|===
| Component | Description | Language

| xref:reqstool-vscode-extension::index.adoc[VS Code Extension]
| Hover information and file watching for reqstool in VS Code
| TypeScript

| xref:reqstool-ai::index.adoc[AI Integration]
| AI-assisted requirements management (Claude Code skills and conventions)
| Shell

|===

== Example

[cols="2,3,1"]
|===
| Component | Description | Language

| xref:reqstool-demo::index.adoc[Demo Project]
| Complete working example with Maven and Gradle builds
| Java

|===
Loading