> ## Documentation Index
> Fetch the complete documentation index at: https://composio-27-feat-docs-revamp.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# SWE Development Kit

> Build and benchmark Software Engineering agents with Composio's tooling ecosystem using JavaScript

## Overview

SWE Development Kit (swekit) is a powerful framework for building Software Engineering agents using Composio's tooling ecosystem.
It provides tools like Github, Repo Indexing, Repo Search, File Manager, Shell Manager, and more.

## Key Features

* **Agent Scaffolding**: Quickly create Devin like agents that work out-of-the-box with popular agentic frameworks like OpenAI, Langchain, and more.
* **Flexible Workspace Environments**: Operate your agents within a variety of secure and isolated environments including Docker, E2B, and FlyIO for security and isolation.
* **Customizable Tools**: Add or optimize your agent's abilities with a variety of tools.
* **Benchmarking**: Evaluate your agents against the SWE-bench, a comprehensive benchmark for software engineering tasks.

## Introduction to Key Concepts

* **Workspace Environments**: These are isolated and secure execution contexts where agents can be run. They ensure that agents operate in a controlled setting, which can be tailored for specific security or resource needs. Examples include containerized environments like Docker, virtualized environments like E2B, and cloud-based platforms like FlyIO.
* **Custom Tools**: These are specialized utilities or enhancements that can be integrated into your agent to extend its functionality or improve its performance. They can range from simple scripts to complex software packages.
* **Benchmarks**: Benchmarks are standardized tests that measure the performance and effectiveness of your agents. They provide a way to compare different agents and track improvements over time.

## Getting Started

<Steps>
  <Step title="Installation">
    Begin by installing the core packages using your favourite package manager:

    <Tabs>
      <Tab title="pnpm (recommended)">
        <CodeGroup>
          ```bash Installing Composio Core Package
          pnpm install -g composio-core
          ```
        </CodeGroup>
      </Tab>

      <Tab title="npm">
        <CodeGroup>
          ```bash Installing Composio Core Package
          npm install -g composio-core
          ```
        </CodeGroup>
      </Tab>

      <Tab title="yarn">
        <CodeGroup>
          ```bash Installing Composio Core Package
          yarn install -g composio-core
          ```
        </CodeGroup>
      </Tab>
    </Tabs>
  </Step>

  <Step title="Connect your Github Account">
    To utilize Github Issues as a task source, link your Github account as follows:

    <CodeGroup>
      ```bash Use Github Auth Token
      export GITHUB_ACCESS_TOKEN=<your_token>
      ```
    </CodeGroup>
  </Step>

  <Step title="Clone SWE Template for JS">
    <Warning>
      To use Docker as the default workspace environment, ensure your Docker server is running
    </Warning>

    To quickly get started, clone the template from github using below command

    <CodeGroup>
      ```bash Clon and setup SWE Template
      git clone https://github.com/ComposioHQ/swe-js-template.git swe-js
      ```
    </CodeGroup>

    This will a new agent in `swe-js` with key files:

    * `src/app.ts`: Entry point to run the agent
    * `src/prompts.ts`: Agent prompts
    * `src/agents/swe`: Agent definations
  </Step>

  <Step title="Install all the dependencies">
    Install all the required dependencies for SWE agent

    <Tabs>
      <Tab title="pnpm (recommended)">
        <CodeGroup>
          ```bash Install all the dependencies
          cd swe-js && pnpm i
          ```
        </CodeGroup>
      </Tab>

      <Tab title="npm">
        <CodeGroup>
          ```bash Install all the dependencies
          cd swe-js && npm i
          ```
        </CodeGroup>
      </Tab>

      <Tab title="yarn">
        <CodeGroup>
          ```bash Install all the dependencies
          cd swe-js && yarn install
          ```
        </CodeGroup>
      </Tab>
    </Tabs>
  </Step>

  <Step title="Run your SWE agnet">
    To start the agent, just run the following command

    <CodeGroup>
      ```bash Run the agent
      pnpm start
      ```
    </CodeGroup>

    You will be prompted to specify the repository and issue for the agent to address.
  </Step>
</Steps>

## Next Steps

* Familiarize yourself with the different [workspace environments](/introduction/foundations/components/workspace) and their use cases.
