## Summary
- **README.md**: rewrote as a user/visitor-facing introduction — covers
what you can build, all five access methods (SDK / HTTP / CLI / MCP /
Skill) in a comparison table, quick start examples, market coverage,
documentation links, and LLM-friendly URL patterns
- **CONTRIBUTING.md**: rewrote as an AI-agent-oriented guide covering
the full repository structure, three-language rule, frontmatter format,
sidebar auto-generation, API reference / openapi.yaml workflow, AI Skill
update guidance, i18n locale config, route rewriting, related
repositories (longbridge/openapi, longbridge/openapi-go,
longbridge/longbridge-terminal), and a PR checklist
## Test plan
- [ ] Verify README renders correctly on GitHub (headings, tables, code
blocks)
- [ ] Verify CONTRIBUTING renders correctly on GitHub
- [ ] Confirm all links in README point to valid URLs
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Add OAuth 2.0 authorization section to all three locale Skill install
pages (en / zh-CN / zh-HK), covering: trigger flow, explicit `longbridge
login`, token cache location, and revocation
- Add "Updating the Skill" section noting that `longbridge.zip` is
updated periodically
- Update FAQ entries to point to OAuth 2.0 flow instead of mentioning
API Token
- Remove Legacy API Key sections from `skills/longbridge` references:
`setup.md`, `python-sdk/overview.md`, `rust-sdk/overview.md`, `mcp.md`
(Self-Hosted Binary section removed)
- Fix Rust SDK "Creating Contexts" example to use `Config::from_oauth`
instead of `Config::from_apikey_env`
## Test plan
- [ ] Verify install pages render correctly in all three locales
- [ ] Confirm no remaining references to API Key / API Token in skill
install docs
- [ ] Confirm OAuth 2.0 flow steps are accurate and complete
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Expand `longbridge` skill description to trigger on investment
analysis requests (not just developer tasks like CLI/SDK usage)
- Add **Investment Analysis Workflow** section guiding Claude to use
Longbridge CLI for news, filings, and community topics before falling
back to WebSearch
- Move setup/auth/rate-limit docs to `references/setup.md` to keep
SKILL.md lean
- Move OG meta tags from static locale configs to dynamic per-page
generation in `config.mts`
## Test plan
- [ ] Verify skill triggers on natural language stock analysis queries
(e.g. "分析持仓", "ARM 昨天表现")
- [ ] Verify `longbridge news` / `news-detail` / `filing-detail`
commands are used before WebSearch in analysis workflow
- [ ] Verify OG tags render correctly per page after config.mts change
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Add `my_topics` and `create_topic` API reference pages in all 3
locales (en/zh-CN/zh-HK), using `<SDKLinks>` + `<Tabs>` pattern with
CLI, Python, Python async, Node.js, Java, Rust, C++, Go examples
- Rename Content sidebar category → **Community** across all locales
- Rename `security_topics` page title → "Get Community Topics by Symbol"
- Add Community content section to `cli.md` (all locales)
- Update `openapi.yaml`: add `x-codeSamples` for `list_my_topics` and
`create_topic`, fix `create_topic` schema (`title` not required at
schema level), move all community endpoints to `Community` tag
- Update CLI skill overview with `longbridge update` command details
## Key design notes
- `create_topic` page includes an article/post comparison table
explaining title requirement and body format differences
- SDK method signatures verified from source code
(`/Users/jason/work/openapi/`)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Reorganize the install page to lead with client-agnostic methods (ZIP
download and npx/bunx CLI) before client-specific setup guides. Adds
-g/-y flag explanations, bunx alternative, and replaces OpenClaw slash
command with a natural-language zip install instruction to prevent AI
misinterpretation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Add blockquote notes to the Claude.ai and ChatGPT sections explaining
that automated installation is not possible due to sandboxed execution
environments
- Claude.ai restricts outbound access to a fixed domain whitelist;
ChatGPT similarly cannot auto-install Skills during a conversation
- Users are directed to the manual download/upload flow in both cases
## Test plan
- [ ] Verify blockquote notes render correctly in all three locales (en,
zh-CN, zh-HK)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Update CN-specific API host from `openapi.longbridge.com` to
`openapi.longbridge.cn` across all language versions (zh-CN, zh-HK, en)
- Affected files: `getting-started.md`, `how-to-access-api.md`,
`refresh-token-api.md`
- Global (non-CN) host `openapi.longbridge.com` remains unchanged
## Test plan
- [ ] Verify CN region docs show `openapi.longbridge.cn`
- [ ] Verify global/production docs still show `openapi.longbridge.com`
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- **New `/skill` page** with full trilingual support (en / zh-CN /
zh-HK)
- **Interactive chat demo**: 4 scenarios (Live Quote, Portfolio,
Subscription, Earnings) × 5 AI clients (OpenClaw, ChatGPT, Claude,
Claude Code, Codex) with typewriter animation
- **Rich response rendering**: tables with Shadcn-style borders, mini
SVG sparkline charts, syntax-highlighted code blocks
- **Scenario cards section** below the demo describing use cases
- **Nav update**: Skill link added to all three locale nav configs
## Bug Fixes
- **Syntax highlighter**: replaced chained-regex approach with a
single-pass tokenizer. The old code ran number → keyword → string
regexes sequentially on the same string — the keyword regex matched
`class` inside generated `<span class="hl-n">` attributes, and the
string regex matched `"hl-n"` as a string literal, corrupting the HTML
structure entirely
- **v-html routing**: replaced `currentMessages[2]?.rich` template
condition with an explicit `isRichResponse` ref set in `runAnimation()`
to prevent incorrect branch selection when switching client tabs
## Test plan
- [ ] Visit `/skill`, `/zh-CN/skill`, `/zh-HK/skill` — page loads in all
locales
- [ ] Click through all 4 scenario tabs — animation plays correctly for
each
- [ ] Click through all 5 client tabs — correct message shown, Claude
Code tab shows syntax-highlighted code (not raw HTML)
- [ ] Verify sparkline charts render in the Live Quote / OpenClaw
scenario
- [ ] Verify table borders render correctly (outer border + row
dividers, no missing bottom border)
- [ ] Verify gain/loss values show green/red colors in tables
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add ContentContext/AsyncContentContext to imports and Sync vs Async table in overview.md
- Add new content-context.md documenting news() and topics() methods with NewsItem/TopicItem fields
- Add missing filings() method to quote-context.md
Add AsyncQuoteContext/AsyncTradeContext/AsyncContentContext examples
alongside existing sync Python examples, covering all 143 API pages
across zh-CN, en, and zh-HK.
Replace nested callback pattern with synchronous style:
- Old: QuoteContext::create(config, [](auto res) { res.context().method(...) })
- New: QuoteContext ctx = QuoteContext::create(config); ctx.method(...)
Extract API calls into a run() helper function following the new
SDK example convention. Updated 134 files across zh-CN, en, zh-HK.
QuoteContext/TradeContext/ContentContext construction is now synchronous
and infallible in v4.0.5:
- Rust: try_new(config).await? -> new(config)
- Node.js: await QuoteContext.new(config) -> QuoteContext.new(config)
- Java: QuoteContext.create(config).get() -> QuoteContext.create(config)
Updated 143 files across zh-CN, en, and zh-HK docs.
## Summary
- Add `skills/longbridge` skill files covering CLI, Python/Rust SDK,
MCP, and LLM integration
- Update `npx skills add` command in `cli.md` (en/zh-CN/zh-HK) from
`longbridge/longbridge-terminal` to `longbridge/developers`
- Update project GitHub repo references from
`longbridge/developers-website` to `longbridge/developers` in
`config.mts` and `CONTRIBUTING.md`
## Test plan
- [ ] Verify skill files are accessible via `npx skills add
longbridge/developers`
- [ ] Verify "Edit this page" links in the site point to the correct
GitHub repo
- [ ] Verify CLI docs show the correct skill install command
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Rename project from "OpenAPI" to "Longbridge Developers" across all
locales, config, and docs
- Add local SVG assets for homepage features (replacing external CDN
URLs)
- **TipContainer**: replace emoji with SVG icons, Shadcn-style
border/bg/text per type using `data-type` + CSS `@apply`
- **Tabs**: improved tab styling, fix `ul`/`ol` indentation in tab
content
- **Sidebar**: active item uses brand color background (color-mix) with
rounded corners
- **Doc footer**: LLMs Text + Edit this page on same row, subdued
colors, lighter "Updated at"
- **Breadcrumb**: remove primary color
- **UserMenu**: rename Profile → Dashboard (控制台)
- **Style**: inline code color fix, blockquote updates, font
improvements
## Test plan
- [ ] Verify rename appears correctly in EN / zh-CN / zh-HK locales
- [ ] Check homepage SVGs load from `/assets/`
- [ ] Check TipContainer all 6 types render with correct
border/bg/text/icon colors in light and dark mode
- [ ] Check Tabs styling and list indentation
- [ ] Check sidebar active item background
- [ ] Check doc footer layout (LLMs Text + Edit this page same row)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Add `filings` and `filing-detail` commands to the "Available
capabilities" section across all three locales (en, zh-CN, zh-HK)
- Add an earnings analysis example in the "AI integration" section
demonstrating a two-step workflow: use `filings` to discover filing IDs,
then `filing-detail` to pull full content for cross-company comparison
(TSLA vs NVDA Q4 2025)
## Test plan
- [ ] Verify the new "Company filings & announcements" section renders
correctly in all three locales
- [ ] Verify the earnings analysis example code block displays properly
- [ ] Check that table formatting renders correctly in the example
output
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>