Skip to content

Rebuild docs on Astro Starlight and add the Jabali Studio guide - #1

Merged
vatsal-vb merged 27 commits into
mainfrom
starlight-migration
Oct 7, 2026
Merged

vatsal-vb merged 27 commits into
mainfrom
starlight-migration

Conversation

@vatsal-vb

@vatsal-vb vatsal-vb commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

What this does

Moves the docs from Jekyll/Just the Docs to Astro Starlight, and turns the Jabali Studio Google Doc into 10 proper pages. Today the homepage just links out to that doc.

Content

  • Jabali Studio: Overview, Install, Sign in, Create your first game, Open a project, Studio interface, Using Bali, Bali best practices, Version history, FAQ, plus 16 screenshots
  • Jabali Web: a placeholder page marked "Coming soon". It's noindex and left out of the sitemap and llms.txt until the new Web docs are written
  • Removed:
    • The Jabali on Discord docs, since that product is retired
    • The Guides & tutorials section (Prompting guide, Interactive story tutorial)
    • Their old URLs now redirect to the home page
  • Also: a new home page, Support and "Contribute to the docs"

Community contributions + approval

  • An "Edit page" link on every page opens a fork-and-PR flow in the browser
  • CODEOWNERS (@vatsal-vb), a PR template, issue templates (docs problem, new page request, product update) and CONTRIBUTING.md
  • check.yml builds every PR. The build fails on broken internal links or a missing page description

SEO / AEO

  • A required, length-checked description on every page; canonical URLs, Open Graph/Twitter cards and a social image
  • A sitemap (noindex pages excluded) and robots.txt
  • JSON-LD on every page: Organization, WebSite, TechArticle (with dateModified) and BreadcrumbList, plus FAQPage on the FAQ, built automatically from its ### questions
  • llms.txt, llms-full.txt and llms-small.txt for AI assistants
  • Redirects from every old .html URL
  • Ready to move to docs.jabali.ai later: see README → "Moving to docs.jabali.ai"

⚠️ Before merging

  1. Push the binary commit. The GitHub connector can't upload images or workflow files, so the last commit (screenshots, brand assets, workflows, lockfile, removal of the old Jekyll files/images/videos) comes as a patch. Apply it on this branch:
    git clone -b starlight-migration https://github.com/Jaabaali/docs.git && cd docs
    git am /path/to/jabali-docs-assets-and-workflows.patch
    git push
  2. Settings → Pages → Source → GitHub Actions. Do this before merging; otherwise GitHub will try to build the repo with Jekyll.
  3. Settings → Rules → New branch ruleset for main: require a PR, 1 approval, review from Code Owners, and the Build and validate links check.
  4. Mark this PR ready and merge. deploy.yml publishes to https://jaabaali.github.io/docs/

Notes for review

  • I fixed a few contradictions in the Google Doc. The FAQ said sign-in was Discord-only, but the sign-in section and its screenshot show Google too. The FAQ also said "My Games", "Play" and "Copilot", where the UI uses Your Projects, Run and Bali. And the duplicated heading "What Is Version History?" is now "When should you save a version?".
  • Discord is still mentioned in two places: as a sign-in option (it's on the Studio sign-in screen) and as the community/support server (discord.gg/jabali).
  • Still missing from the source: the Studio intro video link, and the Windows security pop-up screenshot.

🤖 Generated with Claude Code

https://claude.ai/code/session_01T8NkDNU8At9SeLvz6Q4JX4

@vatsal-vb

Copy link
Copy Markdown
Contributor Author

Updating docs.

@vatsal-vb
vatsal-vb marked this pull request as ready for review October 7, 2026 13:45
@vatsal-vb
vatsal-vb merged commit 71839be into main Oct 7, 2026
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Migrate Jabali docs to Starlight and publish the Studio guide

✨ Enhancement 📝 Documentation ⚙️ Configuration changes 🕐 40+ Minutes

Grey Divider

AI Description

• Replace the Jekyll docs with a Starlight site and a ten-page Jabali Studio guide.
• Retire Discord and tutorial docs, preserve old URLs, and mark Jabali Web as coming soon.
• Add contributor workflows, link validation, and search and AI-discovery metadata.
Diagram

graph TD
  Content["Docs pages"] --> Schema["Content schema"] --> Starlight["Astro Starlight"] --> Output["Static docs"]
  Starlight --> Route["Route metadata"] --> Output
  Starlight --> SEO["SEO extras"] --> Output
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Stage the content and platform migration
  • ➕ Allows the complete site, assets, and deployment workflow to be verified before replacing Jekyll.
  • ➖ Requires temporary parallel maintenance and delays publication of the Studio guide.

Recommendation: The consolidated Starlight migration is reasonable because navigation, links, redirects, and SEO metadata can be checked together. Do not merge the checkout as shown: the referenced screenshots and brand assets, lockfile, and check/deploy workflows are absent. Apply and verify the stated binary/workflow patch, then configure GitHub Pages and required reviews before switching publication.

Files changed (34) +1746 / -0

Enhancement (4) +284 / -0
content.config.tsRequire useful page descriptions +23/-0

Require useful page descriptions

• Extends the Starlight content schema with a 50–160-character description requirement and an optional FAQ flag.

src/content.config.ts

seo-extras.mjsGenerate robots.txt and legacy redirect pages +70/-0

Generate robots.txt and legacy redirect pages

• Writes a sitemap-referencing robots.txt and static HTML redirect pages after each build.

src/integrations/seo-extras.mjs

routeData.tsAdd per-page structured data +164/-0

Add per-page structured data

• Generates organization, website, article, breadcrumb, and optional FAQ JSON-LD from Starlight route data and page content.

src/routeData.ts

custom.cssApply Jabali branding to Starlight +27/-0

Apply Jabali branding to Starlight

• Sets accessible light and dark accent colors and styles screenshots and the header logo.

src/styles/custom.css

Documentation (20) +1221 / -0
docs-problem.ymlAdd a docs-problem report form +25/-0

Add a docs-problem report form

• Collects the affected page, problem, and suggested correction.

.github/ISSUE_TEMPLATE/docs-problem.yml

new-content.ymlAdd a new-topic request form +22/-0

Add a new-topic request form

• Collects a proposed documentation topic and its product area.

.github/ISSUE_TEMPLATE/new-content.yml

product-update.ymlAdd a released-product update form +36/-0

Add a released-product update form

• Requests a public source, user-facing change, and affected pages for documentation updates.

.github/ISSUE_TEMPLATE/product-update.yml

PULL_REQUEST_TEMPLATE.mdAdd a documentation review checklist +13/-0

Add a documentation review checklist

• Prompts contributors to check metadata, image descriptions, links, release status, and previews.

.github/PULL_REQUEST_TEMPLATE.md

CONTRIBUTING.mdDocument the contributor workflow +110/-0

Document the contributor workflow

• Explains editing, authoring conventions, local previews, review, and publishing.

CONTRIBUTING.md

README.mdDocument site operation and migration +63/-0

Document site operation and migration

• Covers development, publishing settings, SEO outputs, a future custom domain, and product-update intake.

README.md

contributing.mdPublish a contribution guide +33/-0

Publish a contribution guide

• Shows readers how to edit a page or report a problem and links to the full contributor guide.

src/content/docs/contributing.md

index.mdxBuild a task-oriented docs home page +62/-0

Build a task-oriented docs home page

• Introduces Jabali Studio, links to getting-started tasks, and directs readers to Web, support, and contribution pages.

src/content/docs/index.mdx

bali-best-practices.mdExplain effective Bali workflows +238/-0

Explain effective Bali workflows

• Covers task sizing, bug reports, agent modes, testing, chat resets, and version checkpoints.

src/content/docs/studio/bali-best-practices.md

bali.mdIntroduce Bali and example prompts +67/-0

Introduce Bali and example prompts

• Describes Bali’s editing and debugging uses, how to access chat, and its limitations.

src/content/docs/studio/bali.md

create-a-game.mdGuide first-game creation +76/-0

Guide first-game creation

• Walks readers through project options, prompting, working with Bali, playtesting, and publishing.

src/content/docs/studio/create-a-game.md

faq.mdAdd Studio FAQ and troubleshooting +114/-0

Add Studio FAQ and troubleshooting

• Answers common account, syncing, editing, testing, and publishing questions. Marks the page for generated FAQ structured data.

src/content/docs/studio/faq.md

index.mdIntroduce Jabali Studio +49/-0

Introduce Jabali Studio

• Summarizes Studio’s capabilities and provides a path through installation, game creation, and Bali guidance.

src/content/docs/studio/index.md

install.mdDocument Studio installation +36/-0

Document Studio installation

• Lists Windows and macOS requirements, installation steps, and the Windows security prompt.

src/content/docs/studio/install.md

interface.mdTour the Studio interface +106/-0

Tour the Studio interface

• Explains Bali’s panel, editing tabs, publishing, and toolbar controls.

src/content/docs/studio/interface.md

open-a-project.mdExplain project access and syncing +25/-0

Explain project access and syncing

• Shows how to open Studio and Web games from Your Projects and refresh the library.

src/content/docs/studio/open-a-project.md

sign-in.mdDocument Studio sign-in +34/-0

Document Studio sign-in

• Covers Google and Discord authentication, automatic project syncing, and initial troubleshooting.

src/content/docs/studio/sign-in.md

version-history.mdExplain versions and rollbacks +65/-0

Explain versions and rollbacks

• Describes saving milestones, viewing changes, restoring a version, and publishing safely.

src/content/docs/studio/version-history.md

support.mdPublish support options +22/-0

Publish support options

• Directs readers to Discord, in-app bug reporting, the FAQ, and docs issues.

src/content/docs/support.md

web.mdMark Jabali Web docs as coming soon +25/-0

Mark Jabali Web docs as coming soon

• Provides a placeholder and Studio alternatives while disabling search indexing for the page.

src/content/docs/web.md

Other (10) +241 / -0
CODEOWNERSAssign a docs code owner +3/-0

Assign a docs code owner

• Assigns @vatsal-vb as the reviewer for all repository changes. Required approval still depends on repository rules.

.github/CODEOWNERS

config.ymlRoute support questions to Discord +5/-0

Route support questions to Discord

• Disables blank issues and adds a Discord contact link for product help.

.github/ISSUE_TEMPLATE/config.yml

dependabot.ymlSchedule dependency update PRs +14/-0

Schedule dependency update PRs

• Configures monthly npm and GitHub Actions updates, grouping Astro-related npm packages.

.github/dependabot.yml

.gitignoreIgnore generated and local files +22/-0

Ignore generated and local files

• Excludes Astro output, installed dependencies, logs, environment files, and editor files.

.gitignore

.nvmrcSelect Node.js 22 +1/-0

Select Node.js 22

• Sets the local Node.js major version for the Astro site.

.nvmrc

astro.config.mjsConfigure the Starlight documentation site +117/-0

Configure the Starlight documentation site

• Defines branding, navigation, edit links, SEO metadata, link validation, AI-readable outputs, sitemap filtering, and build integration.

astro.config.mjs

package.jsonAdd the Astro build and dependencies +25/-0

Add the Astro build and dependencies

• Defines development and build scripts, the Node.js requirement, and Starlight, sitemap, image, and validation dependencies.

package.json

legacy-redirects.mjsMap retired documentation URLs +29/-0

Map retired documentation URLs

• Redirects former Jekyll URLs to replacement pages or the docs home when their content was retired.

src/legacy-redirects.mjs

site.config.mjsCentralize publication URLs +20/-0

Centralize publication URLs

• Defines the GitHub Pages origin and base path, source repository, published branch, and absolute site root.

src/site.config.mjs

tsconfig.jsonEnable Astro strict TypeScript settings +5/-0

Enable Astro strict TypeScript settings

• Extends Astro’s strict configuration and excludes generated distribution files.

tsconfig.json

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (6) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Action required

1. The documentation build fails on missing images 🐞 Bug ≡ Correctness
Description
astro.config.mjs names two logo files that are absent, and the home page names a hero image that
is absent. When npm run build processes those image inputs, the site cannot be built; the
configured favicon and social-image files are missing as well.
Code

astro.config.mjs[R27-29]

+			logo: {
+				light: './src/assets/brand/logo-light.png',
+				dark: './src/assets/brand/logo-dark.png',
Evidence
The configured logos and home-page hero are source image inputs, but the branch has no src/assets/
directory or .webp files. The head also advertises public image URLs, but there is no public/
directory. The PR description identifies an asset commit that must still be applied; it is not
present in the supplied branch.

astro.config.mjs[27-33]
src/content/docs/index.mdx[8-10]
astro.config.mjs[44-51]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The Astro configuration and content reference build-time images that are not present in the branch.
## Fix Focus Areas
- astro.config.mjs[27-29]
- src/content/docs/index.mdx[8-10]
- astro.config.mjs[44-51]
## Recommended Fix
Add the referenced logo and screenshot files under `src/assets/`, and add the favicon, social image, and touch icon under `public/`. Run `npm run build` against the resulting commit.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗


2. Merges cannot publish the new docs site 🐞 Bug ☼ Reliability
Description
README.md makes pull-request checks and Pages deployment depend on .github/workflows/check.yml
and .github/workflows/deploy.yml, but neither workflow is in this branch. Even after the image
inputs are supplied, merging to main will not run the described Astro deployment, and the required
build status check cannot be produced.
Code

README.md[R19-21]

+| Pull request opened | `.github/workflows/check.yml` builds the site and validates every internal link |
+| Review | A code owner from `.github/CODEOWNERS` must approve |
+| Merge to `main` | `.github/workflows/deploy.yml` builds and deploys to GitHub Pages |
Evidence
The README identifies the two workflow paths and a status check required for merging. The branch's
.github/ directory contains CODEOWNERS, templates, and Dependabot configuration, but no
workflows/ directory. The PR description likewise says a workflow commit still needs to be
applied.

README.md[15-29]
package.json[7-12]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The documented GitHub Actions check and deployment have no workflow files in the branch.
## Fix Focus Areas
- README.md[19-29]
- package.json[7-12]
## Recommended Fix
Commit `.github/workflows/check.yml` and `.github/workflows/deploy.yml` with the documented pull-request and main-branch triggers, then confirm the check runs and a merged change deploys through GitHub Pages.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗



Remediation recommended

3. Old Markdown links lose their destinations 🐞 Bug ≡ Correctness
Description
legacyRedirects emits only .html paths, while the old home page links to web.md,
core/prompting.md, and support.md. Once the old files are removed, visitors following those
existing links reach paths for which the integration writes no redirect.
Code

src/legacy-redirects.mjs[R9-11]

+	'web.html': 'web/',
+	'support.html': 'support/',
+	'studio.html': 'studio/',
Evidence
The old home page links directly to the three .md paths. The new table contains only their .html
variants, and the build integration writes redirect files using each table key without adding
alternate extensions.

index.md[19-32]
src/legacy-redirects.mjs[8-16]
src/integrations/seo-extras.mjs[39-45]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Existing links to old `.md` paths are not covered by the new redirect table.
## Fix Focus Areas
- src/legacy-redirects.mjs[8-29]
- src/integrations/seo-extras.mjs[39-45]
## Recommended Fix
Inventory the old site's linked `.md` URLs and add matching redirect entries alongside the `.html` entries. Verify the generated output contains files at those exact paths.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗



Informational

4. Issue chooser points users at retired bot 🐞 Bug ⚙ Maintainability
Description
The about text for the Discord contact link in the issue template config still says questions
about "the Discord bot" are answered on Discord. This PR removes the Jabali on Discord docs because
that product is retired, so users choosing an issue type are told about a product that no longer
exists.
Code

.github/ISSUE_TEMPLATE/config.yml[5]

+    about: Questions about using Jabali Studio, Jabali Web or the Discord bot are answered fastest on Discord.
Evidence
The rest of the PR treats Jabali on Discord as retired. The old pages now redirect to the home page
and the sidebar lists only Studio, Web and Help. Only this template text still mentions the bot.

src/legacy-redirects.mjs[5-25]
astro.config.mjs[60-83]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The issue template contact link still mentions the retired Discord bot.

## Fix Focus Areas
- .github/ISSUE_TEMPLATE/config.yml[5-5]

## Recommended Fix
Change the text to: "Questions about using Jabali Studio or Jabali Web are answered fastest on Discord."

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗


5. Weekly update task targets a missing page 🐞 Bug ⚙ Maintainability
Description
The README says the scheduled Claude task updates studio/whats-new with each stable release, but
there is no src/content/docs/studio/whats-new.md and no matching slug in the sidebar. The first
automated PR will have to invent that page or fail to update it, and adding it would also need a
sidebar entry that the described workflow doesn't mention.
Code

README.md[61]

+- **Automated drafts:** every Monday a scheduled Claude task checks for new **stable** Jabali Studio releases (alpha/prerelease builds are ignored), updates the affected pages plus `studio/whats-new`, and opens a PR titled `Docs: Jabali Studio <version> updates` with the `product-update` label. A maintainer reviews and merges it like any other PR. Internal details, private links and unreleased features are left out.
Evidence
The Studio sidebar lists ten slugs and studio/whats-new is not one of them. No content file with
that name is added in this PR.

astro.config.mjs[62-76]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The README says the weekly automation updates `studio/whats-new`, but that page doesn't exist.

## Fix Focus Areas
- README.md[61-61]
- astro.config.mjs[64-75]

## Recommended Fix
Either add `src/content/docs/studio/whats-new.md` (with a valid 50–160 character description) and add `'studio/whats-new'` to the Studio sidebar, or remove the mention from the README.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗


6. Discord sign-in fixes contradict each other 🐞 Bug ≡ Correctness
Description
The sign-in page tells users to log out of Discord in their browser and sign in again, while the
FAQ's "Why is sign-in failing or freezing?" answer tells them to make sure they are logged in to
Discord in their default browser. A user stuck at Discord login gets opposite advice depending on
which page they read, and the FAQ version is also published as FAQPage structured data that AI
assistants quote.
Code

src/content/docs/studio/sign-in.md[27]

+- If you use Discord, try logging out of Discord in your browser, then sign in again.
Evidence
The FAQ answer, which extractFaq in routeData.ts turns into structured data, gives the opposite
instruction to the sign-in page.

src/content/docs/studio/faq.md[17-21]
src/content/docs/studio/sign-in.md[24-28]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The sign-in page and the FAQ give opposite advice about the Discord browser session when sign-in fails.

## Fix Focus Areas
- src/content/docs/studio/sign-in.md[27-27]
- src/content/docs/studio/faq.md[19-19]

## Recommended Fix
Confirm the correct troubleshooting step with the product team and use the same wording on both pages, e.g. "Make sure you're logged in to the right Discord account in your default browser; if not, log out and sign in again."

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗


Grey Divider

Context sources
✅ Web pages:
  +11 more
Review mode: Auto: 🧠 Deep: Broad migration spans build configuration, routing, SEO, content, and workflows.

Grey Divider

Tip of the day
💡 Did you know, you can route each severity your way: inline, summary, both, or drop

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread astro.config.mjs
Comment on lines +27 to +29
logo: {
light: './src/assets/brand/logo-light.png',
dark: './src/assets/brand/logo-dark.png',

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. The documentation build fails on missing images 🐞 Bug ≡ Correctness

astro.config.mjs names two logo files that are absent, and the home page names a hero image that
is absent. When npm run build processes those image inputs, the site cannot be built; the
configured favicon and social-image files are missing as well.
Agent Prompt
## Issue description
The Astro configuration and content reference build-time images that are not present in the branch.
## Fix Focus Areas
- astro.config.mjs[27-29]
- src/content/docs/index.mdx[8-10]
- astro.config.mjs[44-51]
## Recommended Fix
Add the referenced logo and screenshot files under `src/assets/`, and add the favicon, social image, and touch icon under `public/`. Run `npm run build` against the resulting commit.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in #2: adds the 16 screenshots under src/assets/studio/, both logos under src/assets/brand/, and favicon.png, og-image.png and apple-touch-icon.png under public/. npm run build passes on the patched branch.

Comment thread README.md
Comment on lines +19 to +21
| Pull request opened | `.github/workflows/check.yml` builds the site and validates every internal link |
| Review | A code owner from `.github/CODEOWNERS` must approve |
| Merge to `main` | `.github/workflows/deploy.yml` builds and deploys to GitHub Pages |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

2. Merges cannot publish the new docs site 🐞 Bug ☼ Reliability

README.md makes pull-request checks and Pages deployment depend on .github/workflows/check.yml
and .github/workflows/deploy.yml, but neither workflow is in this branch. Even after the image
inputs are supplied, merging to main will not run the described Astro deployment, and the required
build status check cannot be produced.
Agent Prompt
## Issue description
The documented GitHub Actions check and deployment have no workflow files in the branch.
## Fix Focus Areas
- README.md[19-29]
- package.json[7-12]
## Recommended Fix
Commit `.github/workflows/check.yml` and `.github/workflows/deploy.yml` with the documented pull-request and main-branch triggers, then confirm the check runs and a merged change deploys through GitHub Pages.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in #2: adds .github/workflows/check.yml (PRs, job "Build and validate links") and deploy.yml (push to main, withastro/action + deploy-pages), plus package-lock.json.

Comment thread src/legacy-redirects.mjs
Comment on lines +9 to +11
'web.html': 'web/',
'support.html': 'support/',
'studio.html': 'studio/',

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

3. Old markdown links lose their destinations 🐞 Bug ≡ Correctness

legacyRedirects emits only .html paths, while the old home page links to web.md,
core/prompting.md, and support.md. Once the old files are removed, visitors following those
existing links reach paths for which the integration writes no redirect.
Agent Prompt
## Issue description
Existing links to old `.md` paths are not covered by the new redirect table.
## Fix Focus Areas
- src/legacy-redirects.mjs[8-29]
- src/integrations/seo-extras.mjs[39-45]
## Recommended Fix
Inventory the old site's linked `.md` URLs and add matching redirect entries alongside the `.html` entries. Verify the generated output contains files at those exact paths.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in #2: every legacy entry now also gets a .md redirect. GitHub Pages serves .md files as plain text, so it's written as page.md/index.html (34 redirect pages in total, checked in dist/).

contact_links:
- name: Get help with Jabali (Discord)
url: https://discord.gg/jabali
about: Questions about using Jabali Studio, Jabali Web or the Discord bot are answered fastest on Discord.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Informational

4. Issue chooser points users at retired bot 🐞 Bug ⚙ Maintainability

The about text for the Discord contact link in the issue template config still says questions
about "the Discord bot" are answered on Discord. This PR removes the Jabali on Discord docs because
that product is retired, so users choosing an issue type are told about a product that no longer
exists.
Agent Prompt
## Issue description
The issue template contact link still mentions the retired Discord bot.

## Fix Focus Areas
- .github/ISSUE_TEMPLATE/config.yml[5-5]

## Recommended Fix
Change the text to: "Questions about using Jabali Studio or Jabali Web are answered fastest on Discord."

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in #2 with the suggested wording.

Comment thread README.md
Product changes reach the docs through pull requests, so a maintainer still approves everything:

- **Anyone** can open a "Product update needs docs" issue or a PR.
- **Automated drafts:** every Monday a scheduled Claude task checks for new **stable** Jabali Studio releases (alpha/prerelease builds are ignored), updates the affected pages plus `studio/whats-new`, and opens a PR titled `Docs: Jabali Studio <version> updates` with the `product-update` label. A maintainer reviews and merges it like any other PR. Internal details, private links and unreleased features are left out.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Informational

5. Weekly update task targets a missing page 🐞 Bug ⚙ Maintainability

The README says the scheduled Claude task updates studio/whats-new with each stable release, but
there is no src/content/docs/studio/whats-new.md and no matching slug in the sidebar. The first
automated PR will have to invent that page or fail to update it, and adding it would also need a
sidebar entry that the described workflow doesn't mention.
Agent Prompt
## Issue description
The README says the weekly automation updates `studio/whats-new`, but that page doesn't exist.

## Fix Focus Areas
- README.md[61-61]
- astro.config.mjs[64-75]

## Recommended Fix
Either add `src/content/docs/studio/whats-new.md` (with a valid 50–160 character description) and add `'studio/whats-new'` to the Studio sidebar, or remove the mention from the README.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in #2: the README now says the first product-update PR creates studio/whats-new.md and its sidebar entry. The scheduled task already does both, so no empty page goes live before there's a release to list.

## If sign-in fails

- Restart Jabali Studio and try again.
- If you use Discord, try logging out of Discord in your browser, then sign in again.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Informational

6. Discord sign-in fixes contradict each other 🐞 Bug ≡ Correctness

The sign-in page tells users to log out of Discord in their browser and sign in again, while the
FAQ's "Why is sign-in failing or freezing?" answer tells them to make sure they are logged in to
Discord in their default browser. A user stuck at Discord login gets opposite advice depending on
which page they read, and the FAQ version is also published as FAQPage structured data that AI
assistants quote.
Agent Prompt
## Issue description
The sign-in page and the FAQ give opposite advice about the Discord browser session when sign-in fails.

## Fix Focus Areas
- src/content/docs/studio/sign-in.md[27-27]
- src/content/docs/studio/faq.md[19-19]

## Recommended Fix
Confirm the correct troubleshooting step with the product team and use the same wording on both pages, e.g. "Make sure you're logged in to the right Discord account in your default browser; if not, log out and sign in again."

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in #2: both pages now say to make sure you're logged in to the right Discord account in your default browser, and if sign-in still fails, to log out of Discord, log back in, then try again. That keeps both tips from the source Google Doc, in order.

vatsal-vb added a commit that referenced this pull request Oct 7, 2026
- Redirect the old `.md` URLs (web.md, core/prompting.md, …) as well as the `.html` ones
- Drop the retired Discord bot from the issue chooser's Discord link
- Give the same Discord sign-in advice on the Sign in page and in the FAQ
- README: say that the first product-update PR creates the What's new page and its sidebar entry

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF9wi4kciRPby5RsfkB4Xv
vatsal-vb added a commit that referenced this pull request Oct 7, 2026
The weekly product-update task creates studio/whats-new.md and its sidebar
entry in its first PR, so the README no longer points at a page that
doesn't exist yet (Qodo finding 5 on PR #1).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF9wi4kciRPby5RsfkB4Xv
@vatsal-vb vatsal-vb mentioned this pull request Oct 7, 2026
5 tasks done
vatsal-vb added a commit that referenced this pull request Oct 10, 2026
* Fix Qodo review findings 3–6 from PR #1

- Redirect the old `.md` URLs (web.md, core/prompting.md, …) as well as the `.html` ones
- Drop the retired Discord bot from the issue chooser's Discord link
- Give the same Discord sign-in advice on the Sign in page and in the FAQ
- README: say that the first product-update PR creates the What's new page and its sidebar entry

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF9wi4kciRPby5RsfkB4Xv

* README: explain how the What's new page gets created

The weekly product-update task creates studio/whats-new.md and its sidebar
entry in its first PR, so the README no longer points at a page that
doesn't exist yet (Qodo finding 5 on PR #1).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF9wi4kciRPby5RsfkB4Xv

* Remove old Jekyll site: animation/discord-make.mp4

* Remove old Jekyll site: animation/discord-make-genres.mp4

* Remove old Jekyll site: _config.yml

* Remove old Jekyll site: index.md

* Remove old Jekyll site: studio.md

* Remove old Jekyll site: support.md

* Remove old Jekyll site: web.md

* Remove old Jekyll site: core/generation-and-management.md

* Remove old Jekyll site: core/how-it-works.md

* Remove old Jekyll site: core/prompting.md

* Remove old Jekyll site: core/story-characters-assets.md

* Remove old Jekyll site: discord-docs/build-publish.md

* Remove old Jekyll site: discord-docs/create-discord-genres.md

* Remove old Jekyll site: discord-docs/create-discord.md

* Remove old Jekyll site: discord-docs/discord-upload-knowledge.png

* Remove old Jekyll site: discord-docs/discord.md

* Remove old Jekyll site: discord-docs/edit-upload.md

* Remove old Jekyll site: discord-docs/game-seed.md

* Remove old Jekyll site: discord-docs/prompt-editing.md

* Remove old Jekyll site: discord-docs/upload-content.md

* Remove old Jekyll site: discord-docs/upload-image.png

* Remove old Jekyll site: images/agentic-chatter.png

* Remove old Jekyll site: images/bali-chat.png

* Remove old Jekyll site: images/bali-genre.png

* Remove old Jekyll site: images/bali-play.png

* Remove old Jekyll site: images/bali-upload.png

* Remove old Jekyll site: images/build-publish.png

* Remove old Jekyll site: images/game-edit.png

* Remove old Jekyll site: images/jabali-play-website.jpg

* Remove old Jekyll site: images/jabali-web.png

* Remove old Jekyll site: images/logo.jpeg

* Remove old Jekyll site: tutorials/chapters.png

* Remove old Jekyll site: tutorials/char.png

* Remove old Jekyll site: tutorials/character-sim.md

* Remove old Jekyll site: tutorials/image-1.png

* Remove old Jekyll site: tutorials/image.png

* Remove old Jekyll site: tutorials/interactive-story.md

* Remove old Jekyll site: tutorials/locations.png

* Remove old Jekyll site: tutorials/tutorial-is-prompt.png

* Remove old Jekyll site: tutorials/tutorial-is-seed.png

* Add files via upload

* Add files via upload

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant