JSPM

  • Created
  • Published
  • Downloads 134
  • Score
    100M100P100Q103375F
  • License MIT

CLI for deploying AI agents to Linear

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@sniff-dev/cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    @sniff-dev/cli

    Deploy AI agents to Linear in seconds

    The official CLI for Sniff - the fastest way to deploy custom AI agents to Linear without building infrastructure.

    npm version License

    Why Sniff?

    Linear supports AI agents, but building one requires:

    • Setting up backend infrastructure to receive webhooks
    • Handling OAuth flows with actor=app
    • Managing AgentSession lifecycles
    • Emitting AgentActivity with proper timing
    • Dealing with GraphQL mutations
    • Deploying and maintaining servers

    Sniff handles all of this for you. Just write a config file and deploy.

    Features

    • Config-driven: Define agents in YAML, version control everything
    • Lightning fast: From zero to deployed agent in under 2 minutes
    • Multiple agents: Deploy unlimited specialized agents, all appear as one Linear member
    • Secure: OAuth managed by Ampersand - your tokens never touch our servers
    • Powerful: Built-in tools (web search, web fetch) + MCP integrations (Linear, GitHub, Slack)
    • Developer-friendly: CLI-first, no UIs to click through

    Installation

    npm install -g @sniff-dev/cli

    Requirements: Node.js >= 20.0.0

    Quick Start

    # 1. Authenticate with Sniff
    sniff login
    
    # 2. Initialize a new agent config
    sniff init
    
    # 3. Edit config.yml to customize your agent
    # (Opens in your default editor or edit manually)
    
    # 4. Deploy
    sniff deploy

    Your agent now appears as "@Sniff" in Linear! Mention it or assign issues to it.

    Commands

    sniff login

    Authenticate with Sniff. Opens your browser to complete authentication.

    sniff login

    sniff logout

    Log out from Sniff and clear stored credentials.

    sniff logout

    sniff connect <provider>

    Connect integrations required for your agents.

    # Connect Linear workspace (required)
    sniff connect linear
    
    # Connect Anthropic API key (required)
    sniff connect anthropic

    Available providers:

    • linear - Connect your Linear workspace (OAuth)
    • anthropic - Add your Anthropic API key

    sniff init [agent-id]

    Create a new agent configuration file.

    # Create config.yml in current directory
    sniff init
    
    # Create config for specific agent ID
    sniff init triage-agent

    This generates a config.yml template with example configuration.

    sniff deploy

    Deploy or update an agent from config.yml in the current directory.

    sniff deploy
    
    # Deploy from a specific file
    sniff deploy --config ./my-config.yml

    The agent will be created or updated based on the agent.id in your config.

    sniff list

    List all your deployed agents.

    sniff list

    Shows:

    • Agent ID
    • Agent name
    • Description
    • Model being used
    • Last updated timestamp

    sniff remove <agent-id>

    Delete a deployed agent.

    sniff remove triage-agent

    Configuration

    Example config.yml:

    version: '1.0'
    
    agent:
      id: 'docs-agent'
      name: 'Docs Agent'
      description: 'Searches docs and answers questions'
    
      system_prompt: |
        You help users find answers in documentation.
        Search the web for relevant docs and provide clear answers.
    
      model:
        anthropic:
          name: 'claude-sonnet-4-5-20250929'
          tools:
            - type: web_search_20250305
              name: web_search
            - type: web_fetch_20250910
              name: web_fetch
          mcp_servers:
            - type: url
              url: https://api.sniff.to/mcp/linear
              name: Linear Integration
              tool_configuration:
                allowed_tools: ['searchIssues', 'getIssue']

    See full configuration options in our docs

    Security

    Your credentials never touch Sniff's servers.

    • Linear OAuth tokens are managed by Ampersand
    • Anthropic API keys are encrypted and stored securely
    • All API calls are proxied through secure infrastructure
    • Multi-tenant architecture with isolated data per user

    Debugging

    Enable debug logging for any command:

    sniff --debug deploy
    sniff --debug connect linear

    This shows detailed logs of API calls, authentication flows, and configuration parsing.

    Documentation

    Support

    License

    MIT © Sniff