How amiantos/writers-guild works
Writers Guild is a browser-based AI-assisted story-writing application, with character cards, lorebooks, chats, Continuities, and optional multi-user accounts. The primary workflow is to choose characters and story context in the Vue client, submit work through the API, and persist the resulting story. Separate branches cover character and lorebook management, chat, Continuities, the Archivist, and sign-in. The graph uses README capability descriptions and shown import/reference evidence; several route implementations and provider integrations were not sampled, so their internal call paths are omitted.
Main entry points: api.js API Client · sqliteStorage.js Library Storage · chats.js Character Chats · provider-factory.js Provider Selection
Components 17
Vue Client
- Vue Application
vue_client/src/App.vue - Story Editor
vue_client/src/views/StoryEditor.vue - API Client
vue_client/src/services/api.js
API Features
- Story Management
server/src/routes/stories.js - Character Library
server/src/routes/characters.js - Lorebooks
server/src/routes/lorebooks.js - Character Chats
server/src/routes/chats.js - Continuities
server/src/routes/continuities.js - Archivist
server/src/routes/archivist.js
Generation
- Generation API
server/src/routes/stories.js - Provider Selection
server/src/services/provider-factory.js - Model Providers
server/src/services/providers
Identity and Data
- Authentication
server/src/routes/auth.js - User Scoping
server/src/services/user-context.js - Library Storage
server/src/services/sqliteStorage.js - Database
server/src/services/database.js
Other components
- Writer
Connections 21
- Writer → Vue Application: uses
README.md - Vue Application → Story Editor: routes to
- Story Editor → API Client: requests API
- API Client → Story Management: manages stories
README.md - API Client → Character Library: manages characters
README.md - API Client → Lorebooks: manages lorebooks
README.md - API Client → Character Chats: manages chats
README.md - API Client → Continuities: manages continuity
README.md - API Client → Authentication: signs in
README.md - Character Chats → Provider Selection: selects provider
server/src/routes/chats.js - Generation API → Provider Selection: selects provider
- Provider Selection → Model Providers: dispatches generation
- Character Chats → Library Storage: stores chats
server/src/routes/chats.js - Character Chats → Continuities: uses continuity
- Archivist → Provider Selection: requests suggestions
server/src/routes/archivist.js - Archivist → Library Storage: reads library
server/src/routes/archivist.js - Continuities → Library Storage: stores continuity
server/src/routes/continuities.js - Authentication → User Scoping: sets request user
server/src/routes/auth.js - User Scoping → Database: scopes queries
server/src/services/user-context.js - Library Storage → Database: initializes database
server/src/services/sqliteStorage.js - Character Library → Library Storage: reads library
server/src/routes/characters.js