README, docs and site: one story (the whole job, no avoidable rejections, the desktop app, your AI, install)
README is a short front page (about 120 lines) with one real visual per section; every former section moved unchanged into docs/*.md with a docs/README.md index (journey, rejections, getting-started, commands, growth, studios, store-art, listing-languages, api, skills, mcp, safety, faq, project). The site tells the same story on one page: the teaser in the hero, real CLI output as text, the desktop app as a section with light/dark captures of eight screens and the per-system downloads (desktop/latest.json); /desktop/ redirects to /#download. New capture tools: tools/site-desktop-shots.ts (fixture-mode desktop frames) and tools/site-term-shots.ts (real CLI output as text and WebP). tests/docs-links.test.ts checks README, docs and site links resolve.
This commit is contained in:
parent
deb218943c
commit
710c3a53d0
63 changed files with 2742 additions and 1782 deletions
|
|
@ -23,7 +23,7 @@ ${Object.entries(COMMANDS).map(([k, [, d]]) => line([k, d])).join('\n')}
|
|||
${COMMON}
|
||||
credentials: PLAY_SERVICE_ACCOUNT, ASC_KEY_ID, ASC_ISSUER_ID, ASC_P8, ANDROID_KEYSTORE(_PASSWORD) / ANDROID_KEY_ALIAS / ANDROID_KEY_PASSWORD, REVIEW_DEMO_USER / REVIEW_DEMO_PASSWORD (env or .storebound/credentials.json);
|
||||
profiles for many accounts: ~/.storebound/credentials/<profile>.json (same names), picked with --account <profile>
|
||||
docs: README.md and the skills/ folder of the toolchain`);
|
||||
docs: README.md, docs/ and the skills/ folder of the toolchain`);
|
||||
}
|
||||
|
||||
/** Usage of one command: its header usage lines (or the table line), description and accepted options. */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// Where each AI coding tool looks for Agent Skills and MCP servers in a project, and pure merge helpers that add the
|
||||
// storebound entry without touching anything else in those files. Formats checked against each tool's docs in
|
||||
// October 2026 (see README "Agent support").
|
||||
// October 2026 (see docs/project.md "Agent support").
|
||||
|
||||
export type AgentId = 'claude' | 'codex' | 'cursor' | 'copilot' | 'windsurf' | 'gemini' | 'opencode';
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ export const DATA_SAFETY_UPLOADED = '.storebound/data-safety.uploaded.csv';
|
|||
/**
|
||||
* Play Data safety "Account creation" (question PSL_SUPPORTED_ACCOUNT_CREATION_METHODS): the options Play Console
|
||||
* shows (Data safety > Data collection and security > Account creation) and the response ids storebound writes.
|
||||
* Google publishes no list of these ids (README "Not verified"): compare with a Console export (App content > Data
|
||||
* Google publishes no list of these ids (docs/project.md "Not verified"): compare with a Console export (App content > Data
|
||||
* safety > Export to CSV) when an import is refused.
|
||||
*/
|
||||
export const ACCOUNT_CREATION: Record<string, string> = {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import { homedir } from 'node:os';
|
|||
import { join } from 'node:path';
|
||||
|
||||
export const BUNDLE_ID = 'dev.storebound.desktop';
|
||||
export const PAGE = 'https://storebound.dev/desktop/';
|
||||
export const PAGE = 'https://storebound.dev/#download';
|
||||
export const MANIFEST: Record<'stable' | 'beta', string> = {
|
||||
stable: 'https://storebound.dev/desktop/latest.json',
|
||||
beta: 'https://storebound.dev/desktop/beta/latest.json',
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
// (uncoveredChars) and measures, in the page, which face drew every character (measureFonts). `shots check` turns a
|
||||
// glyph drawn by a fallback the config did not choose, or by a system font, into an ERROR.
|
||||
//
|
||||
// Default stack per script (the template defaults, documented in the README and the store-screenshots skill):
|
||||
// Default stack per script (the template defaults, documented in docs/store-art.md and the store-screenshots skill):
|
||||
// Latin incl. Latin Extended-A / B and Vietnamese, Cyrillic, Greek: the configured title / body font
|
||||
// (defaults: game Paytone One + Montserrat, app Inter + Inter; all four cover Latin Extended and Vietnamese;
|
||||
// Inter and Montserrat cover Cyrillic too). A Cyrillic or Greek line switches to Noto Sans as a whole.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue