Contributing#

Contributions are welcome. Just open an issue. PR's are always welcome too, but it might save everyone time to discuss and plan first.

Also checkout the roadmap for ideas or to submit your feedback on the direction the project should go in.

Annotated Project Structure#

r3ply is a small monorepo, consisting of a few different apps and packages. It is mostly written in TS with a small amount of rust code that provides wasm bindings.

The most important thing to know when working on the code base is

Here is some tree output of the codebase, with comments.

./ # Project Root
├── apps # Implementations of r3ply. These mostly handle IO and the r3ply library (below) handles the core logic.
│   ├── cli # r3, r3ply's CLI
│   └── cloudflare-worker # Handles email comments
├── crates # r3ply's rust codebase
│   └── r3ply-wasm # All the WASM rust code r3ply uses
├── packages # r3ply TS library code
│   ├── lib # the main r3ply logic
│   └── schema # JSON Schemas used by config
├── site # Main site and docs
│   ├── content # Site content (markdown files)
│   │   ├── comments # Site comments (stored as a git submodule at asimpletune/r3ply-site-comments)
│   │   ├── docs # docs
│   │   │   ├── _index.md # docs index
│   │   │   ├── api.md # API docs
│   │   │   ├── cli.md # CLI docs
│   │   │   ├── config.md # config docs
│   │   │   ├── getting-started.md # getting-started- docs
│   │   │   ├── overview.md # overview docs
│   │   │   ├── schemas.md # schemas docs
│   │   │   └── templating.md # templating docs
│   │   ├── project # info about project
│   │   │   ├── _index.md # project index
│   │   │   ├── about.md # about project
│   │   │   ├── contact.md # contact
│   │   │   ├── contributing.md # contributing
│   │   │   └── roadmap.md # roadmap
│   │   ├── _index.md # landing page
│   │   ├── debug-comment-template.md # used to debug the comment that's used to generate <template> tags.
│   │   └── demo.md # demo page
│   ├── css # CSS
│   │   └── input.css # input to tailwind pipeline (see site/package.json)
│   ├── media # for storing media related to artwork, e.g. Pixelmator Pro files
├── test-data
│   └── eml # email files used to test various r3ply code bases
├── tools # random tools that don't have a good place
│   └── mail-parser-ts-bindings-0.9.1.tgz # provides types to the response from the mail parser r3ply uses
├── Cargo.toml # root level crate
├── CHANGELOG.md # changelog
├── package.json # root level package.json (mostly used for scripts)
├── pnpm-workspace.yaml # describes the actual workspace (since r3ply uses pnpm instead of npm)
├── README.md # root README
├── tsconfig.json # root tsconfig (inherited by the others)
└── vitest.workspace.mts # workspace-level vitest config





tree v1.8.0 © 1996 - 2018 by Steve Baker and Thomas Moore
HTML output hacked and copyleft © 1998 by Francesc Rocher
JSON output hacked and copyleft © 2014 by Florian Sesser
Charsets / OS/2 support © 2001 by Kyosuke Tokoro

──𓆝𓆟𓆞𓆝𓆟 𓆝𓆟𓆞──

Comments (0) #

Comment [+] Expand

Pending Comments (0)