mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-03-26 22:11:57 -07:00
fix(cli): show helpful guidance when no skills are available (#23785)
This commit is contained in:
@@ -8,6 +8,7 @@ import { render } from '../../../test-utils/render.js';
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { SkillsList } from './SkillsList.js';
|
||||
import { type SkillDefinition } from '@google/gemini-cli-core';
|
||||
import { SKILLS_DOCS_URL } from '../../constants.js';
|
||||
|
||||
describe('SkillsList Component', () => {
|
||||
const mockSkills: SkillDefinition[] = [
|
||||
@@ -74,9 +75,8 @@ describe('SkillsList Component', () => {
|
||||
<SkillsList skills={[]} showDescriptions={true} />,
|
||||
);
|
||||
const output = lastFrame();
|
||||
|
||||
expect(output).toContain('No skills available');
|
||||
|
||||
expect(output).toContain('No skills available.');
|
||||
expect(output).toContain(`Learn how to add skills: ${SKILLS_DOCS_URL}`);
|
||||
unmount();
|
||||
});
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import type React from 'react';
|
||||
import { Box, Text } from 'ink';
|
||||
import { theme } from '../../semantic-colors.js';
|
||||
import { type SkillDefinition } from '../../types.js';
|
||||
import { SKILLS_DOCS_URL } from '../../constants.js';
|
||||
|
||||
interface SkillsListProps {
|
||||
skills: readonly SkillDefinition[];
|
||||
@@ -86,7 +87,13 @@ export const SkillsList: React.FC<SkillsListProps> = ({
|
||||
)}
|
||||
|
||||
{skills.length === 0 && (
|
||||
<Text color={theme.text.primary}> No skills available</Text>
|
||||
<Box flexDirection="column">
|
||||
<Text color={theme.text.primary}>No skills available.</Text>
|
||||
<Box flexDirection="row">
|
||||
<Text color={theme.text.primary}>Learn how to add skills: </Text>
|
||||
<Text color={theme.text.link}>{SKILLS_DOCS_URL}</Text>
|
||||
</Box>
|
||||
</Box>
|
||||
)}
|
||||
</Box>
|
||||
);
|
||||
|
||||
@@ -58,3 +58,7 @@ export const MIN_TERMINAL_WIDTH_FOR_FULL_LABEL = 100;
|
||||
|
||||
/** Default context usage fraction at which to trigger compression */
|
||||
export const DEFAULT_COMPRESSION_THRESHOLD = 0.5;
|
||||
|
||||
/** Documentation URL for skills setup and configuration */
|
||||
export const SKILLS_DOCS_URL =
|
||||
'https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/skills.md';
|
||||
|
||||
Reference in New Issue
Block a user