Skip to content

feat(2024): add Classes collection#1060

Draft
t11z wants to merge 1 commit into5e-bits:mainfrom
t11z:feat/2024-classes-clean
Draft

feat(2024): add Classes collection#1060
t11z wants to merge 1 commit into5e-bits:mainfrom
t11z:feat/2024-classes-clean

Conversation

@t11z
Copy link
Copy Markdown

@t11z t11z commented Apr 5, 2026

What does this do?

Adds the 2024 Classes collection — 12 SRD 5.2.1 class documents, a Zod schema, and tests.

  • src/2024/5e-SRD-Classes.json — All 12 core classes: Barbarian, Bard, Cleric, Druid, Fighter, Monk, Paladin, Ranger, Rogue, Sorcerer, Warlock, Wizard
  • src/2024/schemas/5e-SRD-Classes.ts — Zod schema following the same structure as the 2014 schema, adapted for 2024 URL conventions
  • src/2024/tests/schemas.test.ts — Classes added to the schema test suite
  • src/2024/5e-SRD-Subclasses.json — Replaced nyi placeholder key with proper url in all 12 subclass class references

Known gaps

The 2024 Proficiencies collection currently only covers Background-relevant proficiencies (14 entries). As a result:

  • proficiencies arrays are omitted — armor, weapon, and saving-throw proficiencies don't exist in the 2024 collection yet
  • proficiency_choices use resource_list format pointing to /api/2024/proficiencies rather than explicit option arrays, since individual skill/instrument proficiency entries are also missing
  • Some starting equipment is absent where 2024 equipment equivalents don't exist (explorers-pack, entertainers-pack, spellbook)

These gaps should be addressed in a follow-up PR that expands the Proficiencies collection.

How was it tested?

Locally — all 49 tests pass (vitest run), including the schema validation test and the broken-link tables test.

Is there a Github issue this is resolving?

No

Did you update the docs in the API? Please link an associated PR if applicable.

No

12 SRD 5.2.1 class documents with Zod schema and tests.
Schema follows the 2014 structure adapted for 2024 URL conventions.
Replaces nyi field in Subclasses with proper class URLs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@t11z
Copy link
Copy Markdown
Author

t11z commented Apr 5, 2026

Note: This PR resolves the /api/2024/classes/{class}-nyi references
in #1056 by @G-Ambatte. With both PRs landed, the class-level -nyi
URLs in the Features collection would become live links.

Happy to coordinate on merge order or adjust anything to make the
two PRs work together smoothly.

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.

1 participant