Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

lynx-typescriptlynx TypeScript 搜索

Agent Skill

lynx-typescript 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

879

周安装

37

GitHub Stars

21

下载量

308
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:lynx-typescript(lynx TypeScript 搜索)
来源仓库:https://github.com/lynx-community/skills
仓库路径:skills/lynx-typescript
安装命令:
npx skills add https://github.com/lynx-community/skills --skill lynx-typescript
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/lynx-community/skills --skill lynx-typescript

简介

lynx-typescript 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。

  • 它可结合来源仓库、安装命令和原始 README 继续核验具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 安装命令为 npx skills add https://github.com/lynx-community/skills --skill lynx-typescript。
  • 当前分类为研究检索,适用于 Codex、Claude、Cursor、Gemini CLI。

SKILL.md

TypeScript @ Lynx

This Skill summarizes common TypeScript issues and their solutions in Lynx development, mainly covering environment configuration, type extending, event handling, components, and ReactLynx advanced usages.

1. Configuration (Environment Configuration)

1.1 tsconfig.json Configuration

Rspeedy reads the tsconfig.json in the root directory by default. Since Rspeedy uses SWC for transpilation, it is recommended to enable the isolatedModules option to avoid cross-file type reference errors.

{
  "compilerOptions": {
    "isolatedModules": true,
    "paths": {
      "@/*": ["./src/*"]
    }
  }
}

1.2 Type Packages Installation

Ensure the correct type packages are installed. @lynx-js/types is the core type package for Lynx.

  • ReactLynx: Install @lynx-js/types and @lynx-js/react.

1.3 Type Declaration File rspeedy-env.d.ts

To allow TypeScript to recognize Rspeedy's built-in features (such as CSS Modules, static resource imports), you need to create a src/rspeedy-env.d.ts file in the project:

/// <reference types="@rspeedy/core/client" />

*(Note: The actual package might depend on your Rspeedy setup, typically @rspeedy/core or similar for open source)*

1.4 ReactLynx JSX Configuration

For ReactLynx projects, you need to configure jsxImportSource as @lynx-js/react in tsconfig.json to ensure JSX is compiled correctly and gets type support.

{
  "compilerOptions": {
    "jsx": "react-jsx",
    "jsxImportSource": "@lynx-js/react"
  }
}

2. Extending Lynx Types

Lynx provides default type definitions, but you usually need to extend them to suit business needs.

2.1 GlobalProps

Extend the type of lynx.__globalProps:

declare module '@lynx-js/types' {
  interface GlobalProps {
    appTheme: string;
    title: string;
    // Add other custom global properties
  }
}
export {};

This way, there will be type hints when using lynx.__globalProps.appTheme.

2.2 InitData

Extend the return value type of the ReactLynx Hook useInitData():

declare module '@lynx-js/react' {
  interface InitData {
    userInfo: {
      name: string;
      id: number;
    };
    // Add other initialization data properties
  }
}
export {};

This way, there will be type hints when using useInitData().userInfo.

2.3 IntrinsicElements (Custom Native Components)

If custom native components are used, you need to extend IntrinsicElements to get JSX type checking:

import type * as Lynx from '@lynx-js/types';
import type { CSSProperties } from '@lynx-js/types';

declare module '@lynx-js/types' {
  interface IntrinsicElements extends Lynx.IntrinsicElements {
    'custom-input': {
      'bindcustom-event'?: (e: { type: 'custom-event'; detail: { value: string } }) => void;
      value?: string;
      class?: string;
      className?: string;
      style?: string | CSSProperties;
    };
  }
}

2.4 NativeModules

Extend the NativeModules type to support custom Native Module calls:

declare module '@lynx-js/types' {
  interface NativeModules {
    NativeLocalStorageModule: {
      getStorageItem(key: string): string | null;
      setStorageItem(key: string, value: string): void;
    };
  }
}
export {};

2.5 Lynx Global Object

Extend the type of the lynx global object (e.g., adding a custom method lynx.myMethod):

declare module '@lynx-js/types' {
  interface Lynx {
    myMethod(param: string): void;
    customProperty: number;
  }
}
export {};

This way, there will be type hints when using lynx.myMethod('test').

3. Event Handling

When handling events, you should avoid using the any type. Lynx provides standard event types.

3.1 Basic Events and Touch Events

For touch events (like bindtap, bindtouchstart), the event object contains properties like detail, touches, changedTouches.

// Example: Handling a tap event
const handleTap = (event: any) => { // Using any is not recommended
  console.log(event);
};

// Recommended approach: Define event interfaces or use inferred types
import type { TouchEvent } from '@lynx-js/types';

// Usage example
const handleButtonTap = (e: TouchEvent) => {
  const { dataset } = e.currentTarget;
  console.log('Tapped!', dataset);
};

4. ReactLynx & LynxUI Types

4.1 LynxUI Component Types

LynxUI components usually export the type definitions for their Props and Ref. When using components from @lynx-js/lynx-ui (or its sub-packages like @lynx-js/lynx-ui-button, @lynx-js/lynx-ui-scroll-view, etc.), you should use these exported types.

Best Practices:

  1. Explicitly import Props and Ref types.
  2. Specify the Ref type when using useRef.
import { ScrollView } from '@lynx-js/lynx-ui-scroll-view';
import type { ScrollViewRef, ScrollViewProps } from '@lynx-js/lynx-ui-scroll-view';
import { useRef } from '@lynx-js/react';

function App() {
  // Explicitly specify the Ref type
  const scrollViewRef = useRef<ScrollViewRef>(null);

  const handleScroll: ScrollViewProps['onScroll'] = (e) => {
    console.log('Scrolled:', e.detail);
  };

  return (
    <ScrollView
      ref={scrollViewRef}
      onScroll={handleScroll}
      // ...
    />
  );
}

4.2 MainThreadRef and Multi-threading APIs

ReactLynx provides dedicated APIs for handling main thread state.

import { useMainThreadRef, runOnMainThread } from '@lynx-js/react';

function AnimationComponent() {
  // Define the data type stored in MainThreadRef
  const widthRef = useMainThreadRef<number>(0);

  const handleTap = () => {
    // Call main thread logic from the background thread
    runOnMainThread(widthRef, (ref) => {
      // This callback executes on the main thread
      ref.current += 10;
      console.log('New width:', ref.current);
    });
  };

  return <view bindtap={handleTap} />;
}

4.3 Lynx Global Object

The lynx global object provides methods like querySelector.

// Select element
const element = lynx.querySelector('#my-id');
// The type of element is Element | null

// Register data processors (functional)
lynx.registerDataProcessors({
  defaultDataProcessor: (data) => {
    return data;
  }
});

5. Common Error Fix Guide

  • Error: Property '...' does not exist on type 'GlobalProps' -> Refer to 2.1 GlobalProps for type extension.
  • Error: Property '...' does not exist on type 'InitData' -> Refer to 2.2 InitData for type extension.
  • Error: Property '...' does not exist on type 'JSX.IntrinsicElements' -> Refer to 2.3 IntrinsicElements (Custom Native Components) for type extension. -> Also check if conflicting type packages are installed.
  • Error: Property 'cancelAnimationFrame' does not exist on type 'UnsafeLynx' or CSSProperties not assignable -> Cause: Usually caused by installing multiple conflicting Lynx type packages. -> Solution: Check package.json, remove unnecessary type packages, ensuring only @lynx-js/types along with @lynx-js/react are kept.
  • Error: Cannot find module '...' or its corresponding type declarations -> Check if paths is configured (refer to 1.1) or if d.ts definitions are missing.
  • Error: 'lynx' is not defined -> Ensure the project contains the reference import {} from "@lynx-js/react".
  • When using declare module '@lynx-js/types' in a d.ts file, make sure to export an empty object export {} to avoid global pollution.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.37%
按下载量换算106

Claude

30.35%
按下载量换算93

Cursor

18.62%
按下载量换算57

Gemini CLI

10.27%
按下载量换算32

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills