Rename project from Gooti to Plebian Signer and add Claude Code config

- Rename all gooti-* files to plebian-signer-* across Chrome and Firefox
- Rename GootiMetaHandler to SignerMetaHandler in common library
- Update all references to use new naming convention
- Add CLAUDE.md with project build/architecture documentation
- Add Claude Code release command tailored for this npm/Angular project
- Add NWC-IMPLEMENTATION.md design document
- Add Claude skills for nostr, typescript, react, svelte, and applesauce libs
- Update README and various component templates with new branding

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-17 09:29:00 +01:00
parent e11ca7a0d2
commit 3c63e6555c
88 changed files with 19449 additions and 498 deletions

View File

@@ -6,10 +6,10 @@ import {
BrowserSessionData,
BrowserSyncData,
BrowserSyncFlow,
GootiMetaData,
SignerMetaData,
Relay_DECRYPTED,
} from './types';
import { GootiMetaHandler } from './gooti-meta-handler';
import { SignerMetaHandler } from './signer-meta-handler';
import { CryptoHelper } from '@common';
import {
addIdentity,
@@ -24,7 +24,7 @@ export interface StorageServiceConfig {
browserSessionHandler: BrowserSessionHandler;
browserSyncYesHandler: BrowserSyncHandler;
browserSyncNoHandler: BrowserSyncHandler;
gootiMetaHandler: GootiMetaHandler;
signerMetaHandler: SignerMetaHandler;
}
@Injectable({
@@ -37,7 +37,7 @@ export class StorageService {
#browserSessionHandler!: BrowserSessionHandler;
#browserSyncYesHandler!: BrowserSyncHandler;
#browserSyncNoHandler!: BrowserSyncHandler;
#gootiMetaHandler!: GootiMetaHandler;
#signerMetaHandler!: SignerMetaHandler;
initialize(config: StorageServiceConfig): void {
if (this.isInitialized) {
@@ -46,27 +46,27 @@ export class StorageService {
this.#browserSessionHandler = config.browserSessionHandler;
this.#browserSyncYesHandler = config.browserSyncYesHandler;
this.#browserSyncNoHandler = config.browserSyncNoHandler;
this.#gootiMetaHandler = config.gootiMetaHandler;
this.#signerMetaHandler = config.signerMetaHandler;
this.isInitialized = true;
}
async enableBrowserSyncFlow(flow: BrowserSyncFlow): Promise<void> {
this.assureIsInitialized();
this.#gootiMetaHandler.setBrowserSyncFlow(flow);
this.#signerMetaHandler.setBrowserSyncFlow(flow);
}
async loadGootiMetaData(): Promise<GootiMetaData | undefined> {
async loadSignerMetaData(): Promise<SignerMetaData | undefined> {
this.assureIsInitialized();
const data = await this.#gootiMetaHandler.loadFullData();
const data = await this.#signerMetaHandler.loadFullData();
if (Object.keys(data).length === 0) {
// No data available yet.
return undefined;
}
this.#gootiMetaHandler.setFullData(data as GootiMetaData);
return data as GootiMetaData;
this.#signerMetaHandler.setFullData(data as SignerMetaData);
return data as SignerMetaData;
}
async loadBrowserSessionData(): Promise<BrowserSessionData | undefined> {
@@ -119,7 +119,7 @@ export class StorageService {
this.assureIsInitialized();
await this.getBrowserSyncHandler().clearData();
await this.getBrowserSessionHandler().clearData();
await this.getGootiMetaHandler().clearData([]);
await this.getSignerMetaHandler().clearData([]);
this.isInitialized = false;
}
@@ -195,7 +195,7 @@ export class StorageService {
getBrowserSyncHandler(): BrowserSyncHandler {
this.assureIsInitialized();
switch (this.#gootiMetaHandler.gootiMetaData?.syncFlow) {
switch (this.#signerMetaHandler.signerMetaData?.syncFlow) {
case BrowserSyncFlow.NO_SYNC:
return this.#browserSyncNoHandler;
@@ -211,10 +211,10 @@ export class StorageService {
return this.#browserSessionHandler;
}
getGootiMetaHandler(): GootiMetaHandler {
getSignerMetaHandler(): SignerMetaHandler {
this.assureIsInitialized();
return this.#gootiMetaHandler;
return this.#signerMetaHandler;
}
/**