# PRD — reactjs-appstarter

Evidence date: 2026-10-05.

Source: `git@bitbucket.org:overdrive/reactjs-appstarter.git`, `master` at `8dada64` (2023-03-01).

There is no prior PRD in the source repository or in Silicon Ark. The repository has no README and no application. The only requirement recovered from the tree is the ignore file. Provenance is labelled.

## Product purpose

**Unknown.** Nothing in the repository states what reactjs-appstarter does, who uses it, or which problem it solves.

**Implemented.** The repository holds an example `.gitignore` added in the initial commit.

**Unknown / Requires Confirmation:** whether this repository is an unstarted React starter, an abandoned placeholder, or a name reserved for source that lives somewhere else. The slug is the only place the words "reactjs" and "appstarter" appear.

## Users and roles

| Actor | Evidence | Status |
|---|---|---|
| Repository author | The only commit, Jaco Brits (`jaco@overdrive.co.za`) | **Implemented** as git history only |
| End user of a React starter | No screen, API, script, or role in the tree | **Unknown** |

No login, session, permission, or role check exists.

## Systems the product talks to

None. There is no pipeline, HTTP client, database, identity provider, mail sender, queue, or React runtime in this repository.

## Major workflows

### WF-1 — Commit to the repository

**Implemented** as ordinary git history. One commit exists, on `master`, on 2023-03-01. No pull-request pipeline, default pipeline, or tag pipeline is defined. There is no `bitbucket-pipelines.yml`.

No other workflow is described in the tree.

## Functional requirements

### FR-001 — Keep a Bitbucket repository named reactjs-appstarter

**Implemented.**

Remote: `git@bitbucket.org:overdrive/reactjs-appstarter.git`. Default branch: `master`. Tip: `8dada64`.

Evidence: `git remote`, `origin/HEAD`, `git log`, `git ls-remote`.

### FR-002 — Ignore common generated files

**Implemented** as the example `.gitignore` from commit `8dada64`.

The header says the list is examples of commonly ignored patterns and should be customized for the project. It links to `https://www.atlassian.com/git/tutorials/saving-changes/gitignore`. Patterns cover `node_modules/`, `dist/` (listed twice), `*.class`, `*.py[cod]`, `*.log`, `*.jar`, Maven `target/`, `.idea/`, `TEST*.xml`, `.DS_Store`, `Thumbs.db`, `*.app`, `*.exe`, `*.war`, and `*.mp4`, `*.tiff`, `*.avi`, `*.flv`, `*.mov`, `*.wmv`.

This file is not evidence that the product uses Node, Java, Python, and Maven together. Provenance of the patterns: **Implemented**. Provenance of a chosen stack: **Unknown**.

The header plus the single "Initial commit" match the example ignore list Bitbucket adds when a repository is created. That identification is **Inferred**. The file was not customized after that commit.

Evidence: `.gitignore`, commit `8dada64`.

### FR-003 — A React application starter

**Not in git.** The repository name is the only evidence that a React starter was intended.

No `package.json`, `src/`, JSX, HTML, bundler config, or README exists. Provenance of a React product: **Unknown / Requires Confirmation.**

### FR-004 — Sonar project settings and a local scan script

**Not in git.**

The task-creation scan named `sonar-project.properties` and `sonarqube_scan.bat`. Neither path exists in `8dada64`. There is no pipeline that calls them.

Provenance: **Unknown / Requires Confirmation.**

## Validation and errors

No application validation exists. No error contract, status code, or user-facing message is defined.

There is no pipeline, so there is no pipeline failure mode to record.

## Constraints

- The ignore list is the only constraint the repository states, and it applies to git, not to a running product.
- `.gitignore` does not list `.env`. No `.env` file is committed.
- No application data model, retention rule, or privacy constraint is written down.

## Requirements that are assumptions

Treating this repository as a React application because the slug contains `reactjs` would be an assumption. There is no React source.

Treating `.gitignore` as a chosen polyglot stack would be an assumption. The file says the patterns are examples and should be customized.

Treating the scan-host files `sonar-project.properties` and `sonarqube_scan.bat` as product requirements would be an assumption. They are not in git.

All three are **Unknown / Requires Confirmation**.
