From 06f55279f625a17e9e44340e0f5e48425034f748 Mon Sep 17 00:00:00 2001 From: PiotrWodecki Date: Tue, 14 Jul 2026 14:23:05 +0200 Subject: [PATCH 1/2] Advertise the Fishjam Skill across the docs Promote the Fishjam Skill (`npx skills add software-mansion-labs/skills`) in three places, in both the Next and 0.28.0 doc versions: - New "Build with AI" article at /ai-skill covering what the skill spans, install, activation, and why it helps. - New SkillCallout component on the home page: on-brand banner with a copy-able install command and a link to the article. - New "Build with AI" navbar item. Navbar active-state is now path-based so Docs, API Reference, and Build with AI highlight mutually exclusively (Docs no longer lights up on the API Reference or AI pages). --- docs/ai-skill.mdx | 48 +++++++ docs/index.mdx | 3 + docusaurus.config.ts | 16 ++- src/components/SkillCallout/index.module.css | 128 +++++++++++++++++++ src/components/SkillCallout/index.tsx | 55 ++++++++ versioned_docs/version-0.28.0/ai-skill.mdx | 48 +++++++ versioned_docs/version-0.28.0/index.mdx | 3 + 7 files changed, 299 insertions(+), 2 deletions(-) create mode 100644 docs/ai-skill.mdx create mode 100644 src/components/SkillCallout/index.module.css create mode 100644 src/components/SkillCallout/index.tsx create mode 100644 versioned_docs/version-0.28.0/ai-skill.mdx diff --git a/docs/ai-skill.mdx b/docs/ai-skill.mdx new file mode 100644 index 00000000..b71a7eb4 --- /dev/null +++ b/docs/ai-skill.mdx @@ -0,0 +1,48 @@ +--- +sidebar_position: 1 +title: Build Fishjam apps with AI +sidebar_label: Build with AI +description: "The Fishjam Skill gives your AI coding assistant up-to-date, correct guidance for building Fishjam apps: right SDK, real APIs, secure auth." +slug: /ai-skill +--- + +# Build Fishjam apps with AI + +The **Fishjam Skill** gives any skills-compatible coding assistant accurate, always-current Fishjam expertise. With it installed, your assistant generates code that uses the right SDK, real API names, and secure auth patterns from the first prompt. + +## What it covers + +The skill is one entry in Software Mansion's `skills` plugin, and it spans the whole Fishjam stack — backend, web, and mobile: + +- **Platform fundamentals** — rooms, peers, tracks, the two-tier auth model, notifications, and the REST API. +- **Server SDKs (Node & Python)** — including AI voice agents and the Gemini Live integration. +- **React web client** — the `@fishjam-cloud/react-client` hooks and providers. +- **React Native / Expo client** — permissions, foreground service, CallKit, screen share, and Picture-in-Picture. + +## Install + +Install the skill into Claude Code (recommended) or any skills-compatible assistant: + +```bash +npx skills add software-mansion-labs/skills +``` + +## How it activates + +No command needed. The skill auto-loads whenever you mention Fishjam or a Fishjam SDK/API in your prompts, like `@fishjam-cloud/react-client`, `FishjamClient`, or `managementToken`. + +## Why it helps + +The skill turns your assistant into a Fishjam specialist: + +- **Always current** — it tracks the latest SDKs and APIs, so your assistant builds on today's Fishjam instead of stale examples. +- **Secure by default** — authentication and tokens follow the patterns we recommend for production, from the first line of code. +- **Full-stack in one place** — backend, web, and mobile share the same guidance, so features connect cleanly end to end. + +:::tip +The skill follows the latest Fishjam release, so your assistant always works against current SDKs and APIs. +::: + +## Links + +- Source and installation details: [software-mansion-labs/skills](https://github.com/software-mansion-labs/skills) (MIT). diff --git a/docs/index.mdx b/docs/index.mdx index a9a27d35..84c284af 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -3,6 +3,7 @@ sidebar_position: 0 --- import QuickNavigation from "@site/src/components/QuickNavigation"; +import SkillCallout from "@site/src/components/SkillCallout"; import { items } from "@site/src/content/cardItems"; import { useVersionedLink } from "@site/src/hooks/useVersionedLink"; @@ -18,6 +19,8 @@ To get started, check out one of our guides or browse the examples below: + + ## Tutorials
{ + if (!navigator?.clipboard) return; + navigator.clipboard + .writeText(INSTALL_COMMAND) + .then(() => { + setCopied(true); + setTimeout(() => setCopied(false), 2000); + }) + .catch(() => {}); + }; + + return ( + + ); +} diff --git a/versioned_docs/version-0.28.0/ai-skill.mdx b/versioned_docs/version-0.28.0/ai-skill.mdx new file mode 100644 index 00000000..b71a7eb4 --- /dev/null +++ b/versioned_docs/version-0.28.0/ai-skill.mdx @@ -0,0 +1,48 @@ +--- +sidebar_position: 1 +title: Build Fishjam apps with AI +sidebar_label: Build with AI +description: "The Fishjam Skill gives your AI coding assistant up-to-date, correct guidance for building Fishjam apps: right SDK, real APIs, secure auth." +slug: /ai-skill +--- + +# Build Fishjam apps with AI + +The **Fishjam Skill** gives any skills-compatible coding assistant accurate, always-current Fishjam expertise. With it installed, your assistant generates code that uses the right SDK, real API names, and secure auth patterns from the first prompt. + +## What it covers + +The skill is one entry in Software Mansion's `skills` plugin, and it spans the whole Fishjam stack — backend, web, and mobile: + +- **Platform fundamentals** — rooms, peers, tracks, the two-tier auth model, notifications, and the REST API. +- **Server SDKs (Node & Python)** — including AI voice agents and the Gemini Live integration. +- **React web client** — the `@fishjam-cloud/react-client` hooks and providers. +- **React Native / Expo client** — permissions, foreground service, CallKit, screen share, and Picture-in-Picture. + +## Install + +Install the skill into Claude Code (recommended) or any skills-compatible assistant: + +```bash +npx skills add software-mansion-labs/skills +``` + +## How it activates + +No command needed. The skill auto-loads whenever you mention Fishjam or a Fishjam SDK/API in your prompts, like `@fishjam-cloud/react-client`, `FishjamClient`, or `managementToken`. + +## Why it helps + +The skill turns your assistant into a Fishjam specialist: + +- **Always current** — it tracks the latest SDKs and APIs, so your assistant builds on today's Fishjam instead of stale examples. +- **Secure by default** — authentication and tokens follow the patterns we recommend for production, from the first line of code. +- **Full-stack in one place** — backend, web, and mobile share the same guidance, so features connect cleanly end to end. + +:::tip +The skill follows the latest Fishjam release, so your assistant always works against current SDKs and APIs. +::: + +## Links + +- Source and installation details: [software-mansion-labs/skills](https://github.com/software-mansion-labs/skills) (MIT). diff --git a/versioned_docs/version-0.28.0/index.mdx b/versioned_docs/version-0.28.0/index.mdx index a9a27d35..84c284af 100644 --- a/versioned_docs/version-0.28.0/index.mdx +++ b/versioned_docs/version-0.28.0/index.mdx @@ -3,6 +3,7 @@ sidebar_position: 0 --- import QuickNavigation from "@site/src/components/QuickNavigation"; +import SkillCallout from "@site/src/components/SkillCallout"; import { items } from "@site/src/content/cardItems"; import { useVersionedLink } from "@site/src/hooks/useVersionedLink"; @@ -18,6 +19,8 @@ To get started, check out one of our guides or browse the examples below: + + ## Tutorials
Date: Tue, 14 Jul 2026 14:36:54 +0200 Subject: [PATCH 2/2] Fix SkillCallout formatting and add pre-commit static checks Prettier flagged src/components/SkillCallout/index.tsx in CI; reformat it so format:check passes. Add a committed .githooks/pre-commit that mirrors the fast CI static checks (format:check, spellcheck, typecheck) and wire it up via core.hooksPath from scripts/prepare.sh for local dev only (skipped on CI). Build is left to CI since it recompiles submodules. --- .githooks/pre-commit | 21 +++++++++++++++++++++ scripts/prepare.sh | 8 ++++++++ src/components/SkillCallout/index.tsx | 4 +++- 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100755 .githooks/pre-commit diff --git a/.githooks/pre-commit b/.githooks/pre-commit new file mode 100755 index 00000000..5cb26a7d --- /dev/null +++ b/.githooks/pre-commit @@ -0,0 +1,21 @@ +#!/bin/sh +# +# Pre-commit hook mirroring the fast static checks from CI +# (.github/workflows/static_check.yml) so commits don't reach CI with +# formatting, spelling, or type errors. +# +# `yarn build` is intentionally NOT run here: it recompiles the git +# submodules and takes minutes, which is too slow for a commit hook. +# CI still runs the full build. +# +# Bypass in an emergency with: git commit --no-verify + +set -e + +echo "pre-commit: running static checks (format, spellcheck, typecheck)..." + +yarn format:check +yarn spellcheck +yarn typecheck + +echo "pre-commit: all static checks passed." diff --git a/scripts/prepare.sh b/scripts/prepare.sh index a624e7bd..136274a6 100755 --- a/scripts/prepare.sh +++ b/scripts/prepare.sh @@ -6,6 +6,14 @@ ROOTDIR=$(dirname $(dirname "$(readlink -f $0)")) echo $ROOTDIR cd $ROOTDIR +# For local development only, point git at the committed hooks directory so +# the pre-commit static checks run (mirrors static_check.yml). Skipped on CI, +# which runs the checks itself and never commits; the `|| true` keeps a +# non-git context (e.g. a source tarball) from aborting this script. +if [ -z "$CI" ]; then + git config core.hooksPath .githooks 2>/dev/null || true +fi + printf "Synchronising submodules... " git submodule sync --recursive >>/dev/null git submodule update --init --recursive >>/dev/null diff --git a/src/components/SkillCallout/index.tsx b/src/components/SkillCallout/index.tsx index 9b348304..6253792d 100644 --- a/src/components/SkillCallout/index.tsx +++ b/src/components/SkillCallout/index.tsx @@ -24,7 +24,9 @@ export default function SkillCallout() {