Skip to content

feat(community): links-only curated index (awesome-list style) - #59

Merged
LeoRoccoBreedt merged 3 commits into
mainfrom
fschlz/community-links-only-index
Jul 31, 2026
Merged

feat(community): links-only curated index (awesome-list style)#59
LeoRoccoBreedt merged 3 commits into
mainfrom
fschlz/community-links-only-index

Conversation

@fschlz

@fschlz fschlz commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

What & why

Follows the Slack discussion with @abby-morgan and @LeoRoccoBreedt: community contributions become a links-only curated index (CrewAI awesome-list style). Code stays in the author's repo; contributing = adding one small YAML block.

Before: per-project folder with meta.yaml + 4-section README (What I built / Problem it solves / What I learned / How I used Opik) + proof screenshot.
After: one block in community/projects.yaml (title, description, author, repo) → generated Project | Description | Author table in community/README.md.

Changes

  • community/projects.yaml — new single data source; both existing entries (Coding Agent course, Observable Job Agent) migrated; per-entry folders and entry-template removed
  • community/_ci/ rewritten — project_rules.py + check_projects.py validate the data file (required fields, http(s) repo URL, GitHub handle format, ≤250-char description, duplicate detection); build_index.py renders the 3-column table; 32 tests
  • Proof artifact requirement dropped — maintainer verifies the linked repo genuinely uses Opik at review time (documented in community/CONTRIBUTING.md)
  • hosted concept removed — standout projects get promoted into the verified buckets instead
  • Root README.md + AGENTS.md updated; CODE_OF_CONDUCT.md added (awesome-list-ready hygiene, no badge/registration — repo doesn't qualify without a rename, can revisit a separate awesome-opik later)
  • Workflows updated: check gate runs check_projects.py; index regen on merge unchanged in behavior

Verification

  • uv run pytest -q → 32 passed; ruff check + ruff format --check clean
  • check_projects.py → OK, 2 projects validated
  • build_index.py --check → index up to date (regenerated table included in this PR)

No tracking issue — this implements the Slack decision directly; happy to file one retroactively if wanted.

fschlz added 2 commits July 29, 2026 17:15
Replace per-entry folders (meta.yaml + 4-section README + proof screenshot)
with a single community/projects.yaml that generates a scannable
Project | Description | Author table. Code stays in authors' repos; a
maintainer verifies Opik usage at review time instead of a proof artifact.

- projects.yaml: 4 required fields per entry (title, description, author,
  repo); both existing entries migrated
- _ci rewritten: project_rules.py + check_projects.py validate the data
  file (required fields, http(s) repo, GitHub handle, 250-char description,
  no duplicates); build_index.py renders the 3-column table
- entry folders, entry-template, proof/secret/hosted machinery removed
- community/CONTRIBUTING.md rewritten around the one-block flow
- root README/AGENTS.md updated; CODE_OF_CONDUCT.md added (awesome-ready)
- workflows renamed/reworded; check step now runs check_projects.py
@fschlz
fschlz marked this pull request as ready for review July 30, 2026 13:29
@fschlz
fschlz requested a review from LeoRoccoBreedt as a code owner July 30, 2026 13:29
A newline inside any field splits the generated markdown table row, and
whitespace in the repo URL produces a broken link. Both passed validation
before; now both are hard errors with tests.
@fschlz
fschlz requested a review from anmorgan24 July 30, 2026 19:59
@fschlz fschlz self-assigned this Jul 30, 2026
@LeoRoccoBreedt
LeoRoccoBreedt merged commit d621daf into main Jul 31, 2026
1 check passed
@LeoRoccoBreedt
LeoRoccoBreedt deleted the fschlz/community-links-only-index branch July 31, 2026 08:34
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.

2 participants