Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

docs: generate STDLIB.md / BUILTINS.md from structured doc-comments instead of hand-writing them

Open
#1,269 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Active
Tech stack
c

Research direction

Examine the existing hand-written docs in docs/STDLIB.md and docs/BUILTINS.md, and the source files in lib/*.eigs and the C registration sites for builtins. Understand the current drift gate in tools/stdlib_index_check.sh and the executed-fence machinery in tests/test_doc_examples.py. The goal is to design a structured doc-comment convention, implement a generator, and integrate it into the build process to auto-generate the documentation tables.

Written by the indexing model from the issue text.

Description

area:docs kind:decision

Problem. docs/STDLIB.md (1,851 lines) and docs/BUILTINS.md (986) are hand-written. A drift gate (tools/stdlib_index_check.sh) catches mismatches, but a person still types every entry, and the lib/*.eigs headers are free-form comments (e.g. lib/json.eigs's "How to use:" block), not structured doc-comments.

What mature languages do. The API reference is generated from the source: rustdoc from ///, go doc / pkg.go.dev from comments, Sphinx autodoc, ExDoc from @doc. The reference cannot drift, because it is the code.

Bar.

  1. A structured doc-comment convention for lib/*.eigs public functions (signature, one-line summary, args, return, an example that runs), documented in docs/STDLIB.md's preamble or CONTRIBUTING.
  2. A C-side description for every builtin at its registration site (where eigenscript --api already enumerates the surface).
  3. A generator produces the module/function tables of STDLIB.md and BUILTINS.md. Hand-written prose sections may stay, fenced off from the generated regions.
  4. The drift gate becomes "regenerate and diff": a new function without a doc-comment fails by name, and so does an edited generated region.
  5. The doc examples extracted from doc-comments run under the existing executed-fence machinery (tests/test_doc_examples.py).

Ranked #2 of the docs follow-ups (2026-09-22 comparison with other languages).

Dominant language
C
Stars
3
Forks
7
Avg merge
3h 58m
Merged PRs (30d)
105

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

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.

More from InauguralSystems/EigenScript

All issues in InauguralSystems/EigenScript

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.