nf-core / nf-core/stats

Add database table schemas documentation for LLM agents

Open
#71 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
2
Forks
4
PR merge metrics
No merged PRs in 30d

Description

Overview

To help LLM agents (like Claude Code) better understand and work with the nf-core stats data, we should document the database table schemas in a machine-readable format.

Current situation

  • LLM agents working with this project need to understand the data structure
  • Evidence.dev pages reference tables like github_traffic_stats, github_contributor_stats, etc.
  • SQL queries in sources/nfcore_db/ and queries/ directories reference various table schemas
  • No centralized schema documentation exists for automated tools

Proposed solution

Create comprehensive table schema documentation that includes:

1. Schema documentation file
  • Create docs/database-schemas.md or similar
  • Document all main tables with column descriptions, types, and sample data
  • Include relationships between tables
  • Add notes about data collection frequency and sources
2. Key tables to document

From the existing SQL queries and pipeline code, prioritize:

  • github_traffic_stats (repository views/clones)
  • github_contributor_stats (contributor activity by week)
  • github_issue_stats (issues and pull requests)
  • nfcore_pipelines (repository metadata)
  • slack_messages (Slack channel activity)
  • slack_members (Slack membership stats)
  • org_members (GitHub organization members)
3. Machine-readable format considerations
  • Use consistent markdown tables
  • Include JSON schema definitions if helpful
  • Consider adding dlt schema exports
  • Make it easy for LLMs to parse and understand

Benefits

  • LLM agents can write better SQL queries
  • Faster development when creating new visualizations
  • Better understanding of available data for new features
  • Improved onboarding for developers
  • Self-documenting codebase

Acceptance criteria

  • Create schema documentation covering all major tables
  • Include column names, types, descriptions, and sample values
  • Document table relationships and foreign keys
  • Add data collection notes (frequency, source APIs)
  • Update CLAUDE.md to reference the schema documentation
  • Ensure documentation is easily discoverable and maintainable

This will significantly improve the ability of Claude Code and other LLM agents to understand and work with the nf-core stats data effectively.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the SQL queries in sources/nfcore_db/ and queries/, then inspect the pipeline code and Evidence.dev pages that reference the listed tables. Use those sources to define the schemas, relationships, sample values, and collection notes in docs/database-schemas.md or a similar file. Update CLAUDE.md to link to the documentation and verify that all acceptance criteria are covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
json, markdown, python, sql
Domain
data, databases, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.