Email protection service
See the codeShroud protects your email address with aliases that remove trackers and forward messages to your inbox. This monorepo contains the application and its supporting projects.
| Project | Contents | Local verification |
|---|---|---|
| shroud.email | Elixir/Phoenix application | mise exec -- mix test |
| website | Astro marketing site, Starlight docs and OpenAPI reference, and Bunny edge script | mise exec -- pnpm run build |
| mobile | React Native/Expo app | npx tsc --noEmit and npm run lint |
| hosting | Self-hosting Docker Compose stack | docker compose config --quiet |
| email-trackers | Tracker list and publishing script | node --check scripts/deploy-bunny.mjs |
| caddy-permissive-file-storage | Caddy storage module | bash test/e2e.sh (requires xcaddy) |
Run project commands from their respective directories. Each project keeps its
own runtime configuration and dependencies; this is not a shared npm workspace.
Install mise, trust the root and project mise.toml files,
and run mise install in the project you are working on.
Run npm ci at the root to install commitlint and Git hooks. App development
instructions are in shroud.email/README.md, and agent
guidance starts in AGENTS.md.
All GitHub Actions live in .github/workflows/. Deployments are separated by
project; shared zizmor, commitlint, and filesystem security checks run once.
.agents/setup prepares the app, website, and Go toolchains in an Amp orb.
amp orb services ensure starts the Phoenix preview and returns its portal URL.
See migration and cutover notes before enabling deployments from this repository. Imported history is retained through merge commits: do not squash the migration.
Elixir
64.6%
JavaScript
9.4%
Astro
7.5%
HTML
5.2%
XSLT
4.9%
TypeScript
3.6%
MDX
1.3%
CSS
1.2%
Shell
1.1%
Email protection service
See the codeShroud protects your email address with aliases that remove trackers and forward messages to your inbox. This monorepo contains the application and its supporting projects.
| Project | Contents | Local verification |
|---|---|---|
| shroud.email | Elixir/Phoenix application | mise exec -- mix test |
| website | Astro marketing site, Starlight docs and OpenAPI reference, and Bunny edge script | mise exec -- pnpm run build |
| mobile | React Native/Expo app | npx tsc --noEmit and npm run lint |
| hosting | Self-hosting Docker Compose stack | docker compose config --quiet |
| email-trackers | Tracker list and publishing script | node --check scripts/deploy-bunny.mjs |
| caddy-permissive-file-storage | Caddy storage module | bash test/e2e.sh (requires xcaddy) |
Run project commands from their respective directories. Each project keeps its
own runtime configuration and dependencies; this is not a shared npm workspace.
Install mise, trust the root and project mise.toml files,
and run mise install in the project you are working on.
Run npm ci at the root to install commitlint and Git hooks. App development
instructions are in shroud.email/README.md, and agent
guidance starts in AGENTS.md.
All GitHub Actions live in .github/workflows/. Deployments are separated by
project; shared zizmor, commitlint, and filesystem security checks run once.
.agents/setup prepares the app, website, and Go toolchains in an Amp orb.
amp orb services ensure starts the Phoenix preview and returns its portal URL.
See migration and cutover notes before enabling deployments from this repository. Imported history is retained through merge commits: do not squash the migration.
Elixir
64.6%
JavaScript
9.4%
Astro
7.5%
HTML
5.2%
XSLT
4.9%
TypeScript
3.6%
MDX
1.3%
CSS
1.2%
Shell
1.1%