···11# @ewanc26/atproto
2233+> **Canonical source:** This package is now maintained in the [`@ewanc26/pkgs`](https://github.com/ewanc26/pkgs) monorepo under [`packages/atproto`](https://github.com/ewanc26/pkgs/tree/main/packages/atproto). This copy exists for historical context — please open issues and PRs there.
44+35AT Protocol service layer extracted from [ewancroft.uk](https://ewancroft.uk). Handles identity resolution, record fetching, Bluesky posts, Standard.site documents, music/mood status, and more — with a built-in in-memory cache.
4657**Key difference from the app's internal service layer:** all functions accept `did: string` as their first argument rather than reading `PUBLIC_ATPROTO_DID` from the environment.
···72747375## Build
74767777+Development happens in the [`@ewanc26/pkgs`](https://github.com/ewanc26/pkgs) monorepo. Local commands (from `packages/atproto`):
7878+7579```bash
7680pnpm build # tsc
7781pnpm dev # tsc --watch
···80848185## Licence
82868383-See the root [LICENSE](../../LICENSE).
8787+AGPL-3.0-only — see the [pkgs monorepo licence](https://github.com/ewanc26/pkgs/blob/main/LICENSE).
+5-1
packages/ui/README.md
···11# @ewanc26/ui
2233+> **Canonical source:** This package is now maintained in the [`@ewanc26/pkgs`](https://github.com/ewanc26/pkgs) monorepo under [`packages/ui`](https://github.com/ewanc26/pkgs/tree/main/packages/ui). This copy exists for historical context — please open issues and PRs there.
44+35Svelte UI component library extracted from [ewancroft.uk](https://ewancroft.uk). Provides layout and card components, UI primitives, SEO helpers, Svelte stores, post utilities, and a multi-theme configuration system.
4657## Installation
···54565557## Build
56585959+Development happens in the [`@ewanc26/pkgs`](https://github.com/ewanc26/pkgs) monorepo. Local commands (from `packages/ui`):
6060+5761```bash
5862pnpm build # svelte-package
5963pnpm dev # svelte-package --watch
···62666367## Licence
64686565-See the root [LICENSE](../../LICENSE).
6969+AGPL-3.0-only — see the [pkgs monorepo licence](https://github.com/ewanc26/pkgs/blob/main/LICENSE).
+5-1
packages/utils/README.md
···11# @ewanc26/utils
2233+> **Canonical source:** This package is now maintained in the [`@ewanc26/pkgs`](https://github.com/ewanc26/pkgs) monorepo under [`packages/utils`](https://github.com/ewanc26/pkgs/tree/main/packages/utils). This copy exists for historical context — please open issues and PRs there.
44+35Shared utility functions extracted from [ewancroft.uk](https://ewancroft.uk). Zero runtime dependencies.
4657## Modules
···33353436## Build
35373838+Development happens in the [`@ewanc26/pkgs`](https://github.com/ewanc26/pkgs) monorepo. Local commands (from `packages/utils`):
3939+3640```bash
3741pnpm build # tsc
3842pnpm dev # tsc --watch
···41454246## Licence
43474444-See the root [LICENSE](../../LICENSE).
4848+AGPL-3.0-only — see the [pkgs monorepo licence](https://github.com/ewanc26/pkgs/blob/main/LICENSE).