-
Notifications
You must be signed in to change notification settings - Fork 9
Enhance player functionality, improve styles, and update docs #705
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Changes from all commits
Commits
Show all changes
60 commits
Select commit
Hold shift + click to select a range
e770b35
chore(changes): remove empty code change entries
ss-o 577be4e
feat(player): enhance player functionality and styles
ss-o 2109ae9
chore(branching): update branching instructions for new structure
ss-o f024707
refactor(player): remove obsolete keyboard shortcuts tab
ss-o 5a47404
style(player): modernise appearance and fix spacing/responsiveness
ss-o 12926f5
chore(docs): remove outdated syntax and introduction files
ss-o 7bc9919
chore(workspace): migrate overrides to pnpm-workspace.yaml, ignore fs…
ss-o 75d4ca3
chore(config): update configuration files and add new env example
ss-o 2522b84
fix(functions): add Cloudflare Workers types for functions/
ss-o 875ce6d
docs(instructions): promote GFM HTML patterns to auto-applied instruc…
ss-o d45c4ad
Revert "docs(instructions): promote GFM HTML patterns to auto-applied…
ss-o 5b150d7
chore: remove .github/contributing directory
ss-o de5c62d
feat(validation): add MDX frontmatter validator with Trunk hook
ss-o 2b18204
fix(audit): remove dead CSS, fix import ordering
ss-o c257366
chore(drafts): remove obsolete markdown draft files
ss-o 900f2c4
feat(showcase): add terminal window title and fix player bottom spacing
ss-o 67623d3
fix(showcase): remove terminal title, fix corner radius consistency
ss-o 436ddee
fix(player): stabilize showcase corner clipping
ss-o afd9573
ci(node): update node version to 20 in workflows
ss-o f438615
Merge branch 'main' into next
ss-o 8860a17
feat(tooling): migrate to unified Trunk linting and cleanup workspace
ss-o 7398f7b
chore(tooling): make lychee on-demand and reduce false positives
ss-o ecd0178
fix(tooling): remove version from disabled lychee linter
ss-o ed112b1
chore(tooling): finalize manual-only lychee configuration
ss-o d6d46e8
chore(tooling): further reduce lychee false positives and fix GITHUB_…
ss-o 51aac7b
chore(tooling): exclude npmjs.com from lychee checks to avoid 403
ss-o 8049d4e
docs(architecture): add TODO for FontAwesome to SVG icon migration
ss-o eef21a9
chore(tooling): accept 403 status codes and re-enable npmjs.com checks
ss-o b47e6e5
docs(syntax): deprecate subversion (svn) ice-modifier support
ss-o 0f1591f
ci: update github actions and fix trunk-check caching
ss-o e540d69
ci: ensure devDependencies are installed by setting NODE_ENV=development
ss-o 2f0888b
ci: refactor trunk-check to use consolidated setup-ci action
ss-o d431d79
ci: re-add NODE_ENV to setup-ci action
ss-o 7879848
ci: use inline NODE_ENV for pnpm install in setup-ci
ss-o c728748
Update install script in CI workflow
ss-o 0ff4c91
chore: fix high and moderate vulnerabilities from pnpm audit
ss-o 366eb55
docs: fix broken authoring guidelines link in README
ss-o 023300d
ci: disable trunk caching for lychee link checker
ss-o 2d30b20
feat(skills): add mandatory self-verification to docusaurus-writer
ss-o 3b03d15
chore: fix validation errors
ss-o 4685477
test: exclude more hallucinated github URLs from lychee
ss-o 57cd0c4
chore(package): update pnpm to version 10.33.2
ss-o cf00e5d
feat(docusaurus): add docusaurus-writer agent and instructions
ss-o beca21c
chore: update lint-on-edit hook and prompts for consistency
ss-o 4147985
Merge remote-tracking branch 'origin/main' into next
ss-o f7bc769
Potential fix for pull request finding
ss-o 7bccc8b
modified: .trunk/trunk.yaml
ss-o b58b8b3
fix: resolve review conversations from PR #705
ss-o e1e183e
fix: move pnpm overrides from package.json to pnpm-workspace.yaml
ss-o 62cc32e
deleted: .editorconfig
ss-o b1c2886
chore: update pnpm-lock.yaml after overrides change
ss-o cf45504
chore: sync package.json devDependency versions with lockfile
ss-o 0c67201
chore: add .editorconfig and fix lint-on-edit hook
ss-o 72131f3
ci: update actions to Node 24 compatible versions and harden permissions
ss-o 60eafe1
fix(functions): migrate to wrangler-generated types and log R2 er…
ss-o cda0be0
fix(wrangler): use correct Pages config keys and update compatibility…
ss-o b04e0fd
chore: exclude generated worker-env.d.ts from eslint and lychee
ss-o ef3f6b8
chore: exclude agent/ dir and tune lychee config
ss-o c0a4bfb
fix(docs): fix broken prezto node module link (502 → blob URL)
ss-o 360c5b3
Resolve PR #705 workflow merge conflicts and pin pnpm action to immut…
Copilot File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,61 +1,26 @@ | ||
| # Space or Tabs? | ||
| # https://stackoverflow.com/questions/35649847/objective-reasons-for-using-spaces-instead-of-tabs-for-indentation | ||
| # https://stackoverflow.com/questions/12093748/how-to-use-tabs-instead-of-spaces-in-a-shell-script | ||
| # https://github.com/editorconfig/editorconfig-defaults/blob/master/editorconfig-defaults.json | ||
| # | ||
| # 1. What happens when I press the Tab key in my text editor? | ||
| # 2. What happens when I request my editor to indent one or more lines? | ||
| # 3. What happens when I view a file containing U+0009 HORIZONTAL TAB characters? | ||
| # | ||
| # Answers: | ||
| # | ||
| # 1. Pressing the Tab key should indent the current line (or selected lines) one additional level. | ||
| # 2. As a secondary alternative, I can also tolerate an editor that, | ||
| # like Emacs, uses this key for a context-sensitive fix-my-indentation command. | ||
| # 3. Indenting one or more lines should follow the reigning convention, if consensus is sufficiently strong; otherwise, | ||
| # I greatly prefer 2-space indentation at each level. U+0009 characters should shift subsequent characters to the next tab stop. | ||
| # | ||
| # Note: VIM users should use alternate marks [[[ and ]]] as the original ones can confuse nested substitutions, e.g.: ${${${VAR}}} | ||
| # | ||
| # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- | ||
| # vim: ft=zsh sw=2 ts=2 et | ||
|
|
||
| # EditorConfig: https://editorconfig.org | ||
| root = true | ||
|
|
||
| [*] | ||
| charset = utf-8 | ||
| end_of_line = lf | ||
| indent_style = space | ||
| indent_size = 2 | ||
| indent_style = space | ||
| insert_final_newline = true | ||
| trim_trailing_whitespace = true | ||
|
|
||
| [*.sln] | ||
| indent_style = tab | ||
|
|
||
| [*.{md,mdx,rst}] | ||
| [*.{md,mdx}] | ||
| trim_trailing_whitespace = false | ||
|
|
||
| [*.{cmd,bat}] | ||
| end_of_line = crlf | ||
| [*.sh] | ||
| indent_size = 2 | ||
| indent_style = space | ||
|
|
||
| [*za-*] | ||
| end_of_line = lf | ||
| [*.{json,jsonc}] | ||
| indent_size = 2 | ||
|
|
||
| [*.{sh,bash,zsh,fish}] | ||
| end_of_line = lf | ||
| [*.{yml,yaml}] | ||
| indent_size = 2 | ||
|
|
||
| [Makefile] | ||
| indent_style = tab | ||
| indent_size = 4 | ||
|
|
||
| [*.{py,rb}] | ||
| indent_size = 4 | ||
|
|
||
| [*.{go,java,scala,groovy,kotlin}] | ||
| indent_style = tab | ||
| indent_size = 4 | ||
|
|
||
| [*.{cs,csx,cake,vb,vbx}] | ||
| # Default Severity for all .NET Code Style rules below | ||
| dotnet_analyzer_diagnostic.severity = warning |
Empty file.
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,194 @@ | ||
| --- | ||
| description: "A documentation writer specialized in Docusaurus, capable of analyzing codebases and producing user-facing product documentation. Orchestrates context-map, docs-release-readiness, and localization-maintainer skills." | ||
| tools: [read, search, execute, edit] | ||
| --- | ||
|
|
||
| # Docusaurus Writer | ||
|
|
||
| You are a Product Documentation Writer specialized in Docusaurus. Analyze codebases and produce user-facing documentation that is clear, comprehensive, and structured for a Docusaurus site. You are investigative, precise, and skilled at translating implementation details into documentation that serves both end-users and developers. | ||
|
|
||
| ## Workflow | ||
|
|
||
| You execute documentation tasks in four phases. Do not skip phases or claim completion without finishing all applicable ones. | ||
|
|
||
| ### Phase 1 — Discovery | ||
|
|
||
| Before writing anything, invoke the **`context-map`** skill to identify all files relevant to the documentation task. This includes: | ||
|
|
||
| - Feature implementations, API routes, data models, and configuration files | ||
| - Existing documentation pages in `docs/`, `community/`, and `ecosystem/` | ||
| - Related components in `src/` | ||
|
|
||
| Do not write content until you have a clear understanding of what the codebase actually does. | ||
|
|
||
| ### Phase 2 — Writing | ||
|
|
||
| Produce Docusaurus-compatible Markdown/MDX following the rules in this section. | ||
|
|
||
| #### Content Types | ||
|
|
||
| | Type | Purpose | | ||
| | -------------------------- | ---------------------------------------------------- | | ||
| | **Learn / Conceptual** | Foundational concepts, terminology, mental models | | ||
| | **Getting Started** | Quick-start to a working state in minutes | | ||
| | **Feature Guides** | Step-by-step instructions for product features | | ||
| | **Tutorials** | End-to-end walkthroughs for real-world problems | | ||
| | **API & SDK Reference** | Endpoints, parameters, request/response, error codes | | ||
| | **Comparison / Migration** | Objective comparisons, migration from alternatives | | ||
| | **FAQ & Troubleshooting** | Symptom → cause → resolution | | ||
|
|
||
| #### Docusaurus Conventions | ||
|
|
||
| **Frontmatter** (required fields: `id`, `title`, `sidebar_position`): | ||
|
|
||
| ```yaml | ||
| --- | ||
| id: short_id | ||
| title: "Page Title" | ||
| sidebar_position: 1 | ||
| image: /img/png/theme/z/320x320.png | ||
| description: One-line summary for SEO and link previews. | ||
| keywords: | ||
| - keyword1 | ||
| - keyword2 | ||
| --- | ||
| ``` | ||
|
|
||
| **File naming**: Use numeric prefixes — `01_first.mdx`, `02_second.mdx`. | ||
|
|
||
| **MDX v3 strict rules**: | ||
|
|
||
| - Escape raw `{` and `<` with backslashes (`\{`, `\<`) | ||
| - Triple backticks only for code blocks — never indented code blocks | ||
| - Use JSX for inline styles (`<span style={{color: 'red'}}>`) | ||
| - All custom React components must be Capitalized | ||
|
|
||
| **Globally available components** (no import needed — registered in `src/theme/MDXComponents.tsx`): | ||
|
|
||
| - `<Highlight>` — colored text spans | ||
| - `<Emoji>` — accessible emoji rendering | ||
| - `<GhRepoBadge>` — GitHub repository badges | ||
| - `<ShellCodeCopy>` — copyable shell command blocks | ||
|
|
||
| **Links**: Always use `<Link to="...">` — never `<Link href="...">`. Never use `<Link>` inside headings; use `[text](url)` markdown syntax instead. | ||
|
|
||
| **Images**: Use `@theme/IdealImage` for PNG/JPG. Never raw `<img>` or `` for content images. | ||
|
|
||
| **Admonitions**: | ||
|
|
||
| ```markdown | ||
| :::note[Optional Custom Title] | ||
| Supplementary information. | ||
| ::: | ||
|
|
||
| :::tip | ||
| Helpful advice. | ||
| ::: | ||
|
|
||
| ::::warning | ||
| Parent warning. | ||
| :::danger[Critical] | ||
| Nested admonitions are supported. | ||
| ::: | ||
| :::: | ||
| ``` | ||
|
|
||
| **Code blocks with titles and highlighting**: | ||
|
|
||
| ````markdown | ||
| ```bash title="Install the SDK" {1,3-4} | ||
| npm install @example/sdk | ||
| ``` | ||
| ```` | ||
|
|
||
| **Tabs for multi-platform instructions**: | ||
|
|
||
| ````mdx | ||
| import Tabs from "@theme/Tabs"; | ||
| import TabItem from "@theme/TabItem"; | ||
|
|
||
| <Tabs> | ||
| <TabItem value="zsh" label="Zsh" default> | ||
|
|
||
| ```zsh | ||
| # zsh example | ||
| ``` | ||
| ```` | ||
|
|
||
| </TabItem> | ||
| </Tabs> | ||
| ``` | ||
|
|
||
| **Category metadata** (`_category_.json`) for any new directory: | ||
|
|
||
| ```json | ||
| { | ||
| "label": "🚀 Section Name", | ||
| "position": 3, | ||
| "link": { | ||
| "type": "generated-index" | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| **Sidebar structure** recommendation: | ||
|
|
||
| 1. **Getting Started** — Quick-start and setup | ||
| 2. **Learn** — Conceptual articles and foundations | ||
| 3. **Guides** — Feature-specific how-to content | ||
| 4. **Tutorials** — End-to-end problem-solving walkthroughs | ||
| 5. **Reference** — API docs, SDK reference, glossary | ||
| 6. **Comparisons** — Competitive positioning and migration guides | ||
|
|
||
| #### Writing Style | ||
|
|
||
| - Use formal, direct language — no colloquialisms | ||
| - Write in second person ("You can configure..." not "Users can configure...") | ||
| - Lead each page with a concise description of what the reader will accomplish | ||
| - Use active voice; keep paragraphs short (two to four sentences maximum) | ||
| - Prefer concrete examples over abstract descriptions | ||
| - End guides with a "Next Steps" section linking to related documentation | ||
|
|
||
| #### Custom React Components | ||
|
|
||
| If you determine a custom React component would improve the documentation, pause and ask: | ||
|
|
||
| > "Would you like me to also scaffold the React component file (e.g., in `src/components/`) for this, or just use the `@site/src/components/...` import statement assuming it already exists?" | ||
|
|
||
| Wait for an answer before generating any component implementation. | ||
|
|
||
| ### Phase 3 — Validation (HARD GATE) | ||
|
|
||
| <HARD-GATE> | ||
| Do NOT claim the writing task is complete until you have invoked the **`docs-release-readiness`** skill and it passes with zero errors. | ||
| </HARD-GATE> | ||
|
|
||
| Invoke `docs-release-readiness` with the changed file paths as argument. It will run: | ||
|
|
||
| 1. `pnpm validate:frontmatter` — required fields present | ||
| 2. `pnpm write-heading-ids` — stable heading anchors | ||
| 3. `pnpm lint` — formatting and style | ||
| 4. `pnpm build:en` — Docusaurus build with no broken links or MDX syntax errors | ||
|
|
||
| If any step fails, fix the issues and re-invoke until all checks pass. | ||
|
|
||
| ### Phase 4 — Localization | ||
|
|
||
| After Phase 3 passes, check whether the changed files are in a path excluded from translation in `crowdin.yml`: | ||
|
|
||
| - `ecosystem/plugins/**` — excluded | ||
| - `community/gallery/**` — excluded | ||
| - `community/01_zsh_guide/**` — excluded | ||
|
|
||
| If the changed files are **not** in an excluded path, invoke the **`localization-maintainer`** agent to sync translation keys with Crowdin. | ||
|
|
||
| ## Boundaries | ||
|
|
||
| You do NOT: | ||
|
|
||
| - Invent features or capabilities not evidenced in the codebase | ||
| - Write marketing copy — focus on accuracy and utility | ||
| - Generate documentation without first completing Phase 1 discovery | ||
| - Document internal implementation details irrelevant to product users | ||
| - Produce documentation that is not valid Docusaurus-compatible Markdown or MDX | ||
| - Build custom React components without explicitly asking the user first |
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| #!/usr/bin/env bash | ||
| # PostToolUse hook: run pnpm lint only after file mutation tools. | ||
| set -eo pipefail | ||
|
|
||
| # Ensure jq is available; fall back to node if needed | ||
| if ! command -v jq &>/dev/null; then | ||
| echo "Error: jq is required for lint-on-edit hook but not found. Install jq to enable automatic linting on file changes." >&2 | ||
| exit 1 | ||
| fi | ||
|
|
||
| input=$(cat) | ||
|
ss-o marked this conversation as resolved.
|
||
| tool_name=$(echo "$input" | jq -r '.tool_name // empty') | ||
|
|
||
| case "$tool_name" in | ||
| apply_patch | create_file | edit | editFiles | insert_edit_into_file | multi_replace_string_in_file | replace_string_in_file) | ||
| file_path=$(echo "$input" | jq -r '.tool_input.path // empty') | ||
| if [[ -n $file_path && -f $file_path ]]; then | ||
| trunk check "$file_path" 2>&1 | tail -40 | ||
| else | ||
| pnpm lint 2>&1 | tail -40 | ||
| fi | ||
| ;; | ||
| esac | ||
35 changes: 35 additions & 0 deletions
35
.github/instructions/agent-docusaurus-writer.instructions.md
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| --- | ||
| description: "Use the docusaurus-writer agent when creating new MDX documentation pages or substantially restructuring existing ones." | ||
| applyTo: "{docs,community,ecosystem}/**/*.mdx" | ||
| --- | ||
|
|
||
| # Agent Trigger: Docusaurus Writer | ||
|
|
||
| When this instruction is loaded, MDX documentation files are being edited or created. | ||
|
|
||
| ## Action Required | ||
|
|
||
| When **creating a new documentation page or category**, invoke the **docusaurus-writer** agent to ensure | ||
| the full authoring workflow is followed: codebase context discovery, Docusaurus-compliant MDX authoring, | ||
| release-readiness QA, and localization sync. | ||
|
|
||
| > **Note**: For post-edit QA on _existing_ pages, use the **docs-release-readiness** skill instead | ||
| > (see `skill-docs-readiness.instructions.md`). | ||
|
|
||
| ## When to Invoke | ||
|
|
||
| | Scenario | Invoke? | | ||
| | --------------------------------------------- | ------------------------------------------- | | ||
| | Creating a new `.mdx` page from scratch | ✅ docusaurus-writer agent | | ||
| | Adding a new directory with `_category_.json` | ✅ docusaurus-writer agent | | ||
| | Substantially rewriting an existing page | ✅ docusaurus-writer agent | | ||
| | Minor edits (typos, code example updates) | ❌ No — edit directly | | ||
| | Post-edit validation of existing pages | ❌ Use docs-release-readiness skill instead | | ||
|
|
||
| ## Invocation | ||
|
|
||
| Invoke the `docusaurus-writer` agent and provide: | ||
|
|
||
| 1. The target content root and directory (`docs/`, `community/`, `ecosystem/`) | ||
| 2. The page or section title | ||
| 3. Any existing pages to cross-link |
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.