1.9 KiB
1.9 KiB
AGENTS.md
Build Commands
npm run dev # Development: runs build.js + tailwindcss --watch
npm run build # Production build → extension/output
npm run package:chrome # Creates extension/releases/nostrconnect_chrome.zip
npm run package:firefox # Creates extension/releases/nostrconnect_firefox.xpi
npm run lint # Run Biome linter
npm run format # Format with Biome (auto-fix)
npm run test # Run tests with Vitest
npm run test:watch # Run tests in watch mode
Key Facts
- Package manager: npm. Peer dependency conflicts are tolerated via
legacy-peer-deps=truein.npmrc - Build output:
extension/output/(notdist/) - Ignore
extension/output/: It contains generated JS/HTML/CSS and is gitignored - Tailwind source:
extension/style.css→extension/output/style.css
Architecture
| File | Purpose |
|---|---|
background.js |
Core logic: state, permissions, crypto (signEvent, nip04) |
nostr-provider.js |
Injected into web pages, provides window.nostr |
content-script.js |
Bridges provider ↔ background via postMessage |
popup.jsx, prompt.jsx, options.jsx |
React UI components |
extension/chrome/manifest.json |
Chrome Manifest V3 config |
extension/firefox/manifest.json |
Firefox Manifest V2 config |
The build script (build.js) auto-selects the correct manifest based on prod/firefox args.
Code Style
- No semicolons
- Single quotes
- Biome (configured in
biome.json)