Skip to content

Update structure for tracking projects - #346

Merged
acekyd merged 6 commits into
mainfrom
ace/revamp
Apr 12, 2026
Merged

Update structure for tracking projects#346
acekyd merged 6 commits into
mainfrom
ace/revamp

Conversation

@acekyd

@acekyd acekyd commented Apr 12, 2026

Copy link
Copy Markdown
Owner

What does this PR do?

This PR explores quality of life improvements that:

  • make it easier to add new projects via JSON
  • automate fetching project data with GitHub workflows

Type of change

  • Enhancement (small improvements)
  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How should this be tested?

Via GitHub workflows

@acekyd acekyd self-assigned this Apr 12, 2026
@codesandbox

codesandbox Bot commented Apr 12, 2026

Copy link
Copy Markdown

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

@netlify

netlify Bot commented Apr 12, 2026

Copy link
Copy Markdown

Deploy Preview for made-in-nigeria-dev ready!

Name Link
🔨 Latest commit 71b6a17
🔍 Latest deploy log https://app.netlify.com/projects/made-in-nigeria-dev/deploys/69db9efabe7f750008110e1c
😎 Deploy Preview https://deploy-preview-346--made-in-nigeria-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR restructures how projects are tracked by moving the source-of-truth to data/projects.json, generating derived artifacts (README + enriched metadata) via scripts, and wiring CI workflows to validate/enrich/regenerate automatically.

Changes:

  • Introduces Node scripts to validate data/projects.json, generate README.MD, and enrich projects via the GitHub API into data/projects.enriched.json.
  • Updates the web app data source to read from data/projects.enriched.json (while keeping a legacy-compatible shape for existing components).
  • Adds GitHub Actions workflows for PR validation, scheduled enrichment, and README regeneration.

Reviewed changes

Copilot reviewed 11 out of 13 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
scripts/validate-projects.mjs Adds CI validation for data/projects.json schema/constraints.
scripts/utils.mjs Shared helpers/constants for scripts (paths + JSON read/write).
scripts/migrate-readme.mjs One-time migration from README.MD to data/projects.json.
scripts/generate-readme.mjs Generates README.MD from data/projects.json.
scripts/enrich-projects.mjs Enriches project data by querying the GitHub API and writing data/projects.enriched.json.
scripts/bootstrap-enriched.mjs Bootstraps an initial projects.enriched.json without API calls.
data/projects.json Introduces the canonical JSON list of projects.
contributing.md Updates contribution instructions to the new JSON + automation pipeline.
app/utils/projects.ts Switches project loading from README scraping to enriched JSON import + normalization.
.github/workflows/validate-pr.yml Adds PR-time validation when data/projects.json changes.
.github/workflows/generate-readme.yml Adds workflow to regenerate/commit README after merges.
.github/workflows/enrich-projects.yml Adds scheduled workflow to enrich/commit project metadata weekly.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/validate-projects.mjs
Comment thread scripts/enrich-projects.mjs Outdated
Comment thread scripts/enrich-projects.mjs Outdated
Comment thread .github/workflows/generate-readme.yml Outdated
Comment thread app/utils/projects.ts Outdated
acekyd and others added 5 commits April 12, 2026 15:31
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@acekyd
acekyd requested review from D-Lite and EmmanuelOloke April 12, 2026 13:33
Comment on lines +4 to +6
schedule:
# Every Monday at 02:00 UTC
- cron: "0 2 * * 1"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

github actions have a terrible reputation when it comes to running them as background jobs. this may end up running at a later time, which can be acceptable to some extent, but sometimes it may not even run at all, due to high demand at gh's end or so.

i'd suggest we expose this via an endpoint that we can hit with upstash. wdyt?

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah I see. Valid concerns. I'd like to give it a go for a bit and see how that goes first? But keeping the upstash option in the pocket if it's needed @kaf-lamed-beyt. Thanks

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure thing 🫡

@kaf-lamed-beyt kaf-lamed-beyt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! just the gh action suggestion i made, which can be revisited if it doesn't work as intended.

@acekyd
acekyd merged commit 1619cc3 into main Apr 12, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants