feat: add Writers Room Guide page (length targets + craft rules)#488
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new deep-linkable Writers Room Guide page at /writers-room/guide, wired into the Writers Room UI header and the global navigation manifest so it’s reachable via Cmd+K / voice navigation.
Changes:
- Added a new
/writers-room/guidepage rendering length targets, book-length estimates, craft principles, and planned editor analyses from a shared canonical data module. - Introduced
client/src/lib/writingGuide.js(+ tests) as the single source of truth for length bands/principles and aclassifyByWordCount()helper. - Wired navigation: new App route, new Writers Room header “Guide” links, and a new
nav.writers-room.guidecommand entry (plus changelog/README/barrel export updates).
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
server/lib/navManifest.js |
Adds a new command palette / voice nav entry for /writers-room/guide. |
client/src/pages/WritersRoomGuide.jsx |
New Guide page UI rendering from the canonical writing guide data. |
client/src/pages/WritersRoom.jsx |
Adds “Guide” links to both Writers Room header variants. |
client/src/lib/writingGuide.js |
New canonical data module for length targets, craft principles, planned analyses, and classifyByWordCount(). |
client/src/lib/writingGuide.test.js |
Adds vitest coverage for data shape invariants and word-count classification behavior. |
client/src/lib/README.md |
Documents the new writingGuide.js module in the lib catalog. |
client/src/lib/index.js |
Re-exports writingGuide.js from the lib barrel. |
client/src/App.jsx |
Adds lazy-loaded route for writers-room/guide. |
.changelog/NEXT.md |
Notes the new Writers Room Guide feature in vNEXT. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…nd fix microfiction char floor
…dder ordering test
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a Writers Room Guide — a deep-linkable documentation page at
/writers-room/guidecovering writing length targets, craft principles, and the analyses the editor will apply to your prose.Reachable via a new Guide link in the Writers Room header (both the full and slim/editing header bars) and from
⌘K/ voice navigation.What's on the page
planned.Design
client/src/lib/writingGuide.js— so the forthcoming editor analyses read the same source the docs render from (no drift between docs and enforcement). Includes aclassifyByWordCount()helper (gap-aware: a count between bands rounds up to the next form)./writers-room/*is a full-width route.Wiring
<Route path="writers-room/guide">inApp.jsx(lazy-loaded).nav.writers-room.guideentry inserver/lib/navManifest.js→⌘K+ voiceui_navigate.client/src/libbarrel + catalog README (enforced byindex.test.js).Tests
client/src/lib/writingGuide.test.js— data-shape invariants (ids, ascending ladder, core categories) +classifyByWordCountband/gap/invalid-input behavior (9 tests).navManifest.test.js+palette.test.jscover the new nav entry (30 passing).