This repository has no description
TypeScript 88%
CSS 9%
JavaScript 2%
PLpgSQL <1%
Dockerfile <1%
HTML <1%

README.md

Atmosphere Account #

CI CodeQL License: MIT

Atmosphere Account is an open-source account, app-directory, host-registry, and login interoperability service for the AT Protocol ecosystem. It provides the shared "Login with Atmosphere" account picker without becoming an OAuth token broker or taking control away from a user's account host.

The project is actively developed and runs in production. Login with Atmosphere v0.1 is the current compatibility contract; host lexicons that are explicitly marked draft may still change before publication.

What is in this repository? #

  • A Fresh/Deno public website and hosted account picker.
  • A signed account-selection handoff with server-side verification helpers.
  • An Atmosphere app directory, reviews, profiles, and shared-record tooling.
  • A host directory with relay-based PDS inventory and conformance badges.
  • A Railway appview, Jetstream indexer, and scheduled PDS inventory importer.
  • Mock-host, conformance, OAuth, plain HTML, Fresh, and Next.js examples.
  • A typed internationalization framework with locale negotiation and RTL-ready document metadata.

See Architecture for system boundaries and the repository map. The security boundary is especially important: this service does not store app OAuth tokens, recovery material, private keys, or PDS backups.

Quick start #

Prerequisites #

  • Deno 2.8.3.
  • Node/npm only for the Chromium browser installation used by the login E2E.
git clone https://github.com/jobiwanken0bi/atmosphere-account.git
cd atmosphere-account
deno install
cp .env.example .env
deno task dev:local

The local task uses file:./local.db. Seed representative local records with:

deno task dev:seed

Do not commit .env, local.db, _fresh/, or node_modules/; they are all ignored.

Checks #

Run the same core checks used by CI:

deno task check
deno task test
deno task host:conformance:smoke
deno task build

The genuine browser flow additionally needs Chromium once:

npx playwright@1.61.1 install chromium
deno task e2e:login

deno task check includes repository community-file, local Markdown-link, and i18n registry validation. deno task i18n:check runs the focused locale tests.

Common tasks #

Task Purpose
deno task dev:local Start local development with a file-backed DB
deno task dev:seed Add representative local records
deno task build Build the Fresh production bundle
deno task test Run the complete unit/integration test suite
deno task e2e:login Exercise picker → signed verification → OAuth start
deno task host:conformance:smoke Validate the bundled mock PDS
deno task pds:index -- --dry-run Preview the relay PDS inventory
deno task smoke:production Smoke the public shell and picker assets
deno task db:migrate:postgres Apply the Railway Postgres schema

Operational and migration commands are documented in Infrastructure; they are not required for ordinary UI, documentation, SDK, or i18n contributions.

Internationalization #

English is currently the only shipped locale, but the catalog contract is designed for independent translation contributions:

  • BCP 47 locale tags and text direction are registered in i18n/locales.ts.
  • i18n/messages/en.tsx defines the complete typed catalog shape while allowing translated string values.
  • Locale negotiation honors an explicit cookie and Accept-Language.
  • Rendered documents emit Content-Language; multi-locale builds also emit the cache variance required to prevent cross-language responses.

Read Internationalization before adding a locale or new user-facing copy.

Documentation #

Contributing #

Contributions are welcome through either forge. GitHub is the canonical issue, security, and CI surface; Tangled is a first-class source mirror and accepts issues, forks, and pull requests. Maintainers mirror accepted changes so both main branches stay identical.

Start with CONTRIBUTING.md, and follow the Code of Conduct. General help belongs in the public support channels described in SUPPORT.md; suspected vulnerabilities must follow SECURITY.md.

License #

MIT © Joseph Basser. Contributions are accepted under the same license.