# Welcome

> Imported skill welcome from langchain

- Skill: `bitwikiorg/welcome` (Agent Skill)
- Install (CLI): `npx skillmds@latest add bitwikiorg/welcome`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bitwikiorg/welcome/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: bitwikiorg (https://skillmd.com/u/bitwikiorg)
- Updated: 2026-08-19
- Page: https://skillmd.com/skills/bitwikiorg/welcome

---


"""Welcome banner widget for deepagents-cli."""

from __future__ import annotations

import os
from typing import Any

from textual.widgets import Static

from deepagents_cli.config import DEEP_AGENTS_ASCII, settings


class WelcomeBanner(Static):
    """Welcome banner displayed at startup."""

    DEFAULT_CSS = """
    WelcomeBanner {
        height: auto;
        padding: 1;
        margin-bottom: 1;
    }
    """

    def __init__(self, **kwargs: Any) -> None:
        """Initialize the welcome banner."""
        # Use the same green color as the original UI (#10b981)
        banner_text = f"[bold #10b981]{DEEP_AGENTS_ASCII}[/bold #10b981]\n"

        # Show LangSmith status if tracing is enabled
        langsmith_key = os.environ.get("LANGSMITH_API_KEY") or os.environ.get("LANGCHAIN_API_KEY")
        langsmith_tracing = os.environ.get("LANGSMITH_TRACING") or os.environ.get(
            "LANGCHAIN_TRACING_V2"
        )

        if langsmith_key and langsmith_tracing:
            project = (
                settings.deepagents_langchain_project
                or os.environ.get("LANGSMITH_PROJECT")
                or "default"
            )
            banner_text += f"[green]✓[/green] LangSmith tracing: [cyan]'{project}'[/cyan]\n"

        banner_text += "[#10b981]Ready to code! What would you like to build?[/#10b981]\n"
        banner_text += "[dim]Enter send • Ctrl+J newline • @ files • / commands[/dim]"
        super().__init__(banner_text, **kwargs)

