Socket
Book a DemoSign in
Socket

@skillkit/tui

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@skillkit/tui - npm Package Compare versions

Comparing version
1.3.1
to
1.4.0
+61
-10
dist/index.d.ts
import * as react_jsx_runtime from 'react/jsx-runtime';
import * as react from 'react';
import { ScoredSkill, ProjectProfile } from '@skillkit/core';
import { ScoredSkill, ProjectProfile, Learning, Observation, MemoryStatus } from '@skillkit/core';
type Screen = 'home' | 'browse' | 'installed' | 'sync' | 'settings' | 'recommend' | 'translate' | 'context';
type Screen = 'home' | 'browse' | 'installed' | 'sync' | 'settings' | 'recommend' | 'translate' | 'context' | 'workflow' | 'execute' | 'history' | 'marketplace' | 'memory';
declare function App(): react_jsx_runtime.JSX.Element;

@@ -64,2 +64,32 @@

interface Props$b {
cols?: number;
rows?: number;
}
declare function Browse({ rows }: Props$b): react_jsx_runtime.JSX.Element;
interface Props$a {
cols?: number;
rows?: number;
}
declare function Installed({ rows }: Props$a): react_jsx_runtime.JSX.Element;
interface Props$9 {
cols?: number;
rows?: number;
}
declare function Sync({ rows }: Props$9): react_jsx_runtime.JSX.Element;
interface Props$8 {
cols?: number;
rows?: number;
}
declare function Settings({}: Props$8): react_jsx_runtime.JSX.Element;
interface Props$7 {
cols?: number;
rows?: number;
}
declare function Recommend({ rows }: Props$7): react_jsx_runtime.JSX.Element;
interface Props$6 {

@@ -69,3 +99,3 @@ cols?: number;

}
declare function Browse({ rows }: Props$6): react_jsx_runtime.JSX.Element;
declare function Translate({ rows }: Props$6): react_jsx_runtime.JSX.Element;

@@ -76,3 +106,3 @@ interface Props$5 {

}
declare function Installed({ rows }: Props$5): react_jsx_runtime.JSX.Element;
declare function Context({ rows }: Props$5): react_jsx_runtime.JSX.Element;

@@ -83,3 +113,3 @@ interface Props$4 {

}
declare function Sync({ rows }: Props$4): react_jsx_runtime.JSX.Element;
declare function Memory({ rows }: Props$4): react_jsx_runtime.JSX.Element;

@@ -90,3 +120,3 @@ interface Props$3 {

}
declare function Settings({}: Props$3): react_jsx_runtime.JSX.Element;
declare function Workflow({ rows }: Props$3): react_jsx_runtime.JSX.Element;

@@ -97,3 +127,3 @@ interface Props$2 {

}
declare function Recommend({ rows }: Props$2): react_jsx_runtime.JSX.Element;
declare function Execute({ rows }: Props$2): react_jsx_runtime.JSX.Element;

@@ -104,3 +134,3 @@ interface Props$1 {

}
declare function Translate({ rows }: Props$1): react_jsx_runtime.JSX.Element;
declare function History({ rows }: Props$1): react_jsx_runtime.JSX.Element;

@@ -111,3 +141,3 @@ interface Props {

}
declare function Context({ rows }: Props): react_jsx_runtime.JSX.Element;
declare function Marketplace({ rows }: Props): react_jsx_runtime.JSX.Element;

@@ -174,2 +204,17 @@ interface UseSkillsResult {

interface UseMemoryResult {
learnings: Learning[];
observations: Observation[];
status: MemoryStatus | null;
loading: boolean;
error: string | null;
isGlobal: boolean;
setIsGlobal: (isGlobal: boolean) => void;
refresh: () => void;
search: (query: string) => Learning[];
deleteLearning: (id: string) => boolean;
deleteObservation: (id: string) => boolean;
}
declare function useMemory(): UseMemoryResult;
declare const colors: {

@@ -193,2 +238,8 @@ primary: string;

spinner: string[];
arrowUp: string;
arrowDown: string;
success: string;
error: string;
warning: string;
info: string;
};

@@ -199,2 +250,2 @@ declare const logo = "\n\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\n\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2551 \u2588\u2588\u2554\u255D\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u255D\u2588\u2588\u2551\u255A\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255D\n\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551\n\u255A\u2550\u2550\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551\n\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\n\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\n";

export { App, Browse, Context, Header, Home, Installed, Recommend, type Screen, SearchInput, Settings, Sidebar, type SkillItem, SkillList, StatusBar, Sync, Translate, colors, logo, startTUI, symbols, useKeyboard, useListNavigation, useMarketplace, useRecommend, useSkills };
export { App, Browse, Context, Execute, Header, History, Home, Installed, Marketplace, Memory, Recommend, type Screen, SearchInput, Settings, Sidebar, type SkillItem, SkillList, StatusBar, Sync, Translate, Workflow, colors, logo, startTUI, symbols, useKeyboard, useListNavigation, useMarketplace, useMemory, useRecommend, useSkills };
+3
-3
{
"name": "@skillkit/tui",
"version": "1.3.1",
"version": "1.4.0",
"description": "Terminal UI for SkillKit",

@@ -24,4 +24,4 @@ "type": "module",

"react": "^18.3.1",
"@skillkit/core": "1.3.1",
"@skillkit/agents": "1.3.1"
"@skillkit/agents": "1.4.0",
"@skillkit/core": "1.4.0"
},

@@ -28,0 +28,0 @@ "devDependencies": {

+127
-27
# @skillkit/tui
Interactive terminal UI for SkillKit - browse, install, and manage skills visually.
[![npm version](https://img.shields.io/npm/v/@skillkit/tui.svg)](https://www.npmjs.com/package/@skillkit/tui)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
**Interactive terminal UI for SkillKit** - browse, install, translate, and manage skills visually in your terminal.
## Installation

@@ -9,38 +12,75 @@

npm install @skillkit/tui
# or
npm install -g skillkit # includes TUI
```
## Quick Start
```bash
skillkit ui
# or just
skillkit
```
## Features
- **Browse Skills**: Discover skills from the marketplace
- **Smart Recommendations**: Project-aware skill suggestions
- **Skill Translation**: Convert between agent formats
- **Context Management**: View and sync project context
- **Keyboard Navigation**: Fast, intuitive controls
- **Browse Skills**: Explore 33+ skill repositories with search and filtering
- **Smart Recommendations**: See project-aware skill suggestions with match scores
- **Cross-Agent Translation**: Convert skills between any of 17 agent formats
- **Context Management**: View detected stack and sync to all agents
- **Multi-Agent Install**: Install skills to multiple agents at once
- **Responsive Design**: Adapts to any terminal size
## Usage
## Screens
```typescript
import { startTUI } from '@skillkit/tui';
### Home
Overview of your project and quick actions. Shows detected agents, installed skills count, and navigation hints.
// Launch the interactive TUI
await startTUI();
```
### Browse (b)
Explore available skills from curated repositories. Features:
- Search skills with `/`
- Filter by tags
- View skill details
- One-key installation
Or via CLI:
### Recommend (r)
AI-powered skill suggestions based on your project:
- Analyzes your package.json, configs, and file structure
- Shows match percentage for each skill
- Explains why skills are recommended
- Filter by minimum score
```bash
skillkit ui
```
### Translate (t)
Convert skills between agent formats:
- Select source skill
- Choose target agent(s)
- Preview translation
- Apply with confirmation
## Screens
### Context (c)
View and manage project context:
- Detected languages and frameworks
- Found testing tools and databases
- Installed agents
- Sync context to all agents
- **Home**: Overview and quick actions
- **Browse**: Explore available skills
- **Recommend**: Get personalized recommendations
- **Translate**: Convert skills between formats
- **Context**: Manage project context
- **Installed**: View and manage installed skills
- **Sync**: Sync skills across agents
- **Settings**: Configure skillkit
### Installed (l)
Manage your installed skills:
- View all installed skills
- Enable/disable skills
- Remove skills
- Update from source
### Sync (s)
Sync skills across agents:
- Select target agents
- Preview changes
- Apply sync
### Settings (,)
Configure SkillKit:
- Default agent
- Auto-sync settings
- Skill directories
## Keyboard Shortcuts

@@ -50,8 +90,68 @@

|-----|--------|
| `↑/↓` | Navigate |
| `Enter` | Select |
| `h` | Home screen |
| `b` | Browse skills |
| `r` | Recommendations |
| `t` | Translate skills |
| `c` | Context management |
| `l` | List installed |
| `s` | Sync skills |
| `,` | Settings |
| `↑/↓` | Navigate lists |
| `Enter` | Select / Confirm |
| `/` | Search |
| `m` | Multi-select mode |
| `Tab` | Switch focus |
| `Esc` | Go back |
| `?` | Help |
| `q` | Quit |
## Programmatic Usage
```typescript
import { startTUI, TUIOptions } from '@skillkit/tui';
// Launch with defaults
await startTUI();
// Launch with options
await startTUI({
projectPath: './my-project',
initialScreen: 'browse',
theme: 'dark',
});
```
## Architecture
Built with:
- **Ink** - React for CLIs
- **React** - Component architecture
- **@skillkit/core** - Core functionality
```
src/
├── app.tsx # Main app component
├── screens/ # Screen components
│ ├── Home.tsx
│ ├── Browse.tsx
│ ├── Recommend.tsx
│ ├── Translate.tsx
│ ├── Context.tsx
│ └── ...
├── components/ # Reusable UI components
│ ├── SkillCard.tsx
│ ├── AgentSelector.tsx
│ └── ...
└── hooks/ # React hooks
├── useSkills.ts
├── useContext.ts
└── ...
```
## Terminal Requirements
- Minimum: 80x24 characters
- Recommended: 120x40 characters
- Supports: True Color, 256 colors, basic ANSI
## Documentation

@@ -58,0 +158,0 @@

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display