Project Structure¶
Note
This page is a work in progress.
Repository root¶
Path |
Contents |
|---|---|
|
Extension source code and manifests |
|
Sphinx documentation source (this site) |
|
Build output — gitignored, generated by |
|
Developer tooling scripts (param-order checker, release helper) |
|
|
|
Rollup bundler configuration |
|
TypeScript compiler configuration |
|
Dprint formatter configuration |
|
ESLint configuration |
|
TypeDoc API documentation configuration |
Extension source (extension/data/)¶
Path |
Contents |
|---|---|
|
Reddit API wrappers (resources: comments, flair, wiki, etc.) |
|
Extension background script handlers |
|
Global CSS (base variables, legacy injection styles) |
|
Core module system: |
|
Extension icons and static images |
|
Individual feature modules (one directory per module) |
|
Cross-module React components and utilities |
|
Pure utility functions (data, infra, persistence, reddit, ui, wiki) |
Module layout¶
Each module under extension/data/modules/<name>/ follows the layered structure described in Module Architecture.
Utility categories (extension/data/util/)¶
Subdirectory |
Contents |
|---|---|
|
Array, async, color, encoding, string, time helpers |
|
Build environment, logging, platform detection, version |
|
Settings read/write, migrations, portability |
|
Page context detection, mod actions, thing info |
|
DOM helpers, hooks, icons, listener, markdown, React mount |
|
Wiki path constants, schema codecs, migration utilities |