diff --git a/.github/workflows/deploy-pages.yml b/.github/workflows/deploy-pages.yml
index cfea95b..4ae1824 100644
--- a/.github/workflows/deploy-pages.yml
+++ b/.github/workflows/deploy-pages.yml
@@ -1,4 +1,4 @@
-name: Deploy to GitHub Pages
+name: Redirect legacy GitHub Pages URL
on:
push:
@@ -15,35 +15,24 @@ concurrency:
cancel-in-progress: true
jobs:
- build:
+ prepare:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- - name: Set up Node.js
- uses: actions/setup-node@v4
- with:
- node-version: 22
- cache: npm
- - name: Install dependencies
- run: npm ci
- - name: Build static site
- run: npm run build
- env:
- VITE_BASE_PATH: /${{ github.event.repository.name }}/
- name: Configure Pages
uses: actions/configure-pages@v5
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
- path: dist
+ path: redirect
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
- needs: build
+ needs: prepare
steps:
- name: Deploy to GitHub Pages
id: deployment
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2adf30a..196cf9d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,9 +4,11 @@ All notable changes to RepoReady are documented here. The project follows [Seman
## [Unreleased]
-### Planned
+### Changed
-- First public deployment to GitHub Pages.
+- Moved the live application to the nested portfolio route at `https://aminhanifm.github.io/projects/repo-ready/`.
+- Kept the legacy repository Pages URL as a redirect.
+- Replaced em dashes throughout project copy and generated Markdown reports.
## [1.0.0] - 2026-07-20
diff --git a/README.md b/README.md
index 1214505..33c92f2 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
RepoReady is an open-source, browser-only readiness report for public GitHub repositories. It gives maintainers, contributors, recruiters, and users an evidence-based answer to a practical question: **is this repository understandable, trustworthy, maintainable, and ready to share publicly?**
-[Live demo](https://aminhanifm.github.io/RepoReady/) · [Scoring methodology](SCORING.md) · [Report an issue](https://github.com/aminhanifm/RepoReady/issues)
+[Live demo](https://aminhanifm.github.io/projects/repo-ready/) · [Scoring methodology](SCORING.md) · [Report an issue](https://github.com/aminhanifm/RepoReady/issues)

@@ -117,14 +117,11 @@ The build is a static Vite bundle. `VITE_BASE_PATH` controls asset URLs:
# Root domain
VITE_BASE_PATH=/ npm run build
-# GitHub repository Pages
-VITE_BASE_PATH=/RepoReady/ npm run build
-
# Nested portfolio route
-VITE_BASE_PATH=/tools/repo-ready/ npm run build
+VITE_BASE_PATH=/projects/repo-ready/ npm run build
```
-The included Pages workflow derives the repository base path automatically. In GitHub, choose **Settings → Pages → Build and deployment → Source: GitHub Actions** before the first deployment.
+The live application is built into the portfolio Pages artifact at `/projects/repo-ready/`. The included Pages workflow keeps the legacy `/RepoReady/` URL available as a redirect. In both repositories, choose **Settings → Pages → Build and deployment → Source: GitHub Actions** before the first deployment.
## Known limitations
diff --git a/SCORING.md b/SCORING.md
index c558e06..4df5d8e 100644
--- a/SCORING.md
+++ b/SCORING.md
@@ -38,7 +38,7 @@ Recommendations come only from failed checks, are ordered by points descending,
- API-dependent checks become unknown when their endpoint fails, is malformed, or is unavailable. A successful empty response is observable and can fail a check.
- Direct GitHub URLs are attached whenever an exact file, workflow, release, or settings page is known.
-## 1. Discoverability — 20 points
+## 1. Discoverability: 20 points
| ID | Rule | Points | Passing evidence | Limitations | Why it matters / failed recommendation |
| ----------------------------- | --------------------------------------------- | -----: | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
@@ -47,7 +47,7 @@ Recommendations come only from failed checks, are ordered by points descending,
| `discoverability.homepage` | Homepage or live demo configured | 5 | The repository `homepage` field contains a valid `http` or `https` URL. | RepoReady does not request the URL or verify uptime. | A configured demo lets visitors evaluate the project quickly. Add a working demo or project homepage in repository settings. |
| `discoverability.visual` | README includes a demo link or visual example | 5 | README contains Markdown image syntax, an HTML `` tag, a video/image URL, or a link whose nearby text includes demo, preview, screenshot, video, or live. | Linked media is not fetched and dead links may pass. | A visual example reduces the time needed to understand the result. Add a screenshot, short demo, or clearly labeled live-demo link. |
-## 2. Documentation — 25 points
+## 2. Documentation: 25 points
| ID | Rule | Points | Passing evidence | Limitations | Why it matters / failed recommendation |
| ---------------------------- | ---------------------------------------- | -----: | ----------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
@@ -58,7 +58,7 @@ Recommendations come only from failed checks, are ordered by points descending,
| `documentation.license` | License is present | 3 | Community profile reports a license or the tree contains `LICENSE`, `LICENSE.md`, `LICENSE.txt`, `COPYING`, or `COPYING.md`. | RepoReady does not interpret compatibility or legal validity. | Without a license, reuse and contribution rights are unclear. Add an appropriate open-source license. |
| `documentation.roadmap` | Limitations or roadmap documented | 2 | README contains a limitations, known issues, caveats, roadmap, future work, or non-goals heading. | RepoReady does not judge completeness or currency. | Explicit boundaries create realistic expectations. Document known limitations, non-goals, or a short roadmap. |
-## 3. Engineering quality — 25 points
+## 3. Engineering quality: 25 points
| ID | Rule | Points | Passing evidence | Limitations | Why it matters / failed recommendation |
| ---------------------- | ----------------------------------------------------- | -----: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
@@ -68,7 +68,7 @@ Recommendations come only from failed checks, are ordered by points descending,
| `engineering.lockfile` | Appropriate dependency lockfile exists | 3 | A recognized manifest is paired with the ecosystem’s lockfile: for example `package.json` with npm/yarn/pnpm/bun lock, `Gemfile` with `Gemfile.lock`, or `Cargo.toml` with `Cargo.lock`. Repositories with no recognized dependency manifest are unknown. | Some libraries intentionally omit lockfiles; RepoReady cannot infer every packaging policy. Tree failure makes this unknown. | Lockfiles improve reproducibility for applications. Commit the appropriate lockfile, or document why it is intentionally omitted. |
| `engineering.checks` | Latest observable default-branch checks pass | 3 | The latest commit’s combined status/check runs are observable, contain at least one check, and none are failing, cancelled, or pending. | GitHub may expose no checks to unauthenticated clients; that is unknown, not failed. A conclusively failing or pending check fails. | A green default branch gives visitors a current health signal. Fix or rerun failing default-branch checks. |
-## 4. Community readiness — 15 points
+## 4. Community readiness: 15 points
| ID | Rule | Points | Passing evidence | Limitations | Why it matters / failed recommendation |
| --------------------------- | ---------------------- | -----: | ------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
@@ -78,7 +78,7 @@ Recommendations come only from failed checks, are ordered by points descending,
| `community.issue_template` | Issue template or form | 2 | A recognized template or YAML form exists under `.github/ISSUE_TEMPLATE/`, or community profile reports issue templates. | Template usefulness is not evaluated. Tree failure makes this unknown unless profile data answers it. | Structured reports provide the context maintainers need. Add a bug report or feature request form. |
| `community.pr_template` | Pull-request template | 2 | A pull-request template exists in the root, `docs/`, or `.github/`, including `.github/PULL_REQUEST_TEMPLATE/`. | Template usefulness is not evaluated. | A checklist improves consistency and review readiness. Add a concise pull-request template. |
-## 5. Release readiness — 15 points
+## 5. Release readiness: 15 points
| ID | Rule | Points | Passing evidence | Limitations | Why it matters / failed recommendation |
| ------------------------ | --------------------------------------- | -----: | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
diff --git a/index.html b/index.html
index 1a62675..e8328c3 100644
--- a/index.html
+++ b/index.html
@@ -13,7 +13,9 @@
name="description"
content="RepoReady creates deterministic, evidence-based readiness reports for public GitHub repositories."
/>
-
RepoReady never uses stars, forks, watchers, or popularity in the score. Unknown - evidence stays unknown—it is never quietly treated as a failure. + evidence stays unknown. It is never quietly treated as a failure.
Read the scoring rules @@ -249,7 +249,7 @@ function Results({ report, onAnother }: { report: ReadinessReport; onAnother(): {report.source === "fixture" && (Unknown evidence is excluded—not scored as failure.
+Unknown evidence is excluded and not scored as failure.