Tools For SWE Kit

List of tools you can use for your SWE Kit Development, compatible with agentic frameworks like CrewAI, LangChain, and LlamaIndex etc. These utilities enable file system operations, command execution, and other core development tasks

File Tool

Opens a file in the editor based on the provided file path, If line_number is provided, the window will be move to include that line

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet()
10tools = composio_toolset.get_tools(actions=['FILETOOL_OPEN_FILE'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Renames a file based on the provided file path

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['FILETOOL_RENAME_FILE'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Use this tools to edit a file on specific line numbers

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['FILETOOL_EDIT_FILE'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Creates a new file or directory within a shell session

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['FILETOOL_CREATE_FILE'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Scrolls the view of the opened file up or down by 100 lines

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['FILETOOL_SCROLL'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Scrolls the view of the opened file up or down by 100 lines

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['FILETOOL_SCROLL'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Lists files and directories in the current working directory

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['FILETOOL_LIST_FILES'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Search for a specific word or phrase across multiple files in your workspace by specifying a pattern

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['FILETOOL_SEARCH_WORD'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Finds files or directories matching the given pattern in the workspace

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['FILETOOL_FIND_FILE'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Write the given content to a file

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['FILETOOL_WRITE'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Changes the current working directory of the file manager to the specified path

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['FILETOOL_CHANGE_WORKING_DIRECTORY'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

This action allows you to clone a Git repository to your local directory

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['FILETOOL_GIT_CLONE'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Creates a tree representation of the Git repository

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['FILETOOL_GIT_REPO_TREE'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Get the patch from the current working directory

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['FILETOOL_GIT_PATCH'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Code Analysis Tool

Use this to create a code map for a repository by indexing and analyzing its contents

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5llm = ChatOpenAI()
6prompt = hub.pull("hwchase17/openai-functions-agent")
7
8composio_toolset = ComposioToolSet(api_key="")
9tools = composio_toolset.get_tools(actions=['CODE_ANALYSIS_TOOL_CREATE_CODE_MAP'])
10
11agent = create_openai_functions_agent(llm, tools, prompt)
12agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
13task = "your task description here"
14result = agent_executor.invoke({"input": task})
15print(result)

This tool retrieves and formats detailed information about a specified class in a given repository

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5llm = ChatOpenAI()
6prompt = hub.pull("hwchase17/openai-functions-agent")
7
8composio_toolset = ComposioToolSet(api_key="")
9tools = composio_toolset.get_tools(actions=['CODE_ANALYSIS_TOOL_GET_CLASS_INFO'])
10
11agent = create_openai_functions_agent(llm, tools, prompt)
12agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
13task = "your task description here"
14result = agent_executor.invoke({"input": task})
15print(result)

This tool retrieves the body of a specified method from a given repository

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['CODE_ANALYSIS_TOOL_GET_METHOD_BODY'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

This tool retrieves the signature of a specified method from a given repository.

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['CODE_ANALYSIS_TOOL_GET_METHOD_SIGNATURE'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Retrieves relevant code snippets from a repository based on a given query

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['CODE_ANALYSIS_TOOL_GET_RELEVANT_CODE'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Shell Tool

Run any command directly on shell

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['SHELLTOOL_EXEC_COMMAND'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Use this tool to create a new shell session

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['SHELLTOOL_CREATE_SHELL'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Spawn a process

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['SHELLTOOL_SPAWN_PROCESS'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Run the command for testing the patch

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['SHELLTOOL_TEST_COMMAND'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

RAG Tool

Tool for adding content to the knowledge base

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['RAGTOOL_ADD_CONTENT_TO_RAG_TOOL'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Tool for querying a knowledge base

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['RAGTOOL_ADD_CONTENT_TO_RAG_TOOL'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Embed Tool

Creates Vector Store for all image files in the specified folder

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['EMBED_TOOL_CREATE_IMAGE_VECTOR_STORE'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Query Vector Store for images

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['EMBED_TOOL_QUERY_IMAGE_VECTOR_STORE'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Other Useful Tools

Executes a SQL Query and returns the results

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['SQLTOOL_SQL_QUERY'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)

Performs code formatting and linting using ruff, addressing style issues and checking for errors

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5llm = ChatOpenAI()
6prompt = hub.pull("hwchase17/openai-functions-agent")
7
8composio_toolset = ComposioToolSet(api_key="")
9tools = composio_toolset.get_tools(actions=['CODE_FORMAT_TOOL_FORMAT_AND_LINT_CODEBASE'])
10
11agent = create_openai_functions_agent(llm, tools, prompt)
12agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
13task = "your task description here"
14result = agent_executor.invoke({"input": task})
15print(result)

Returns history for workspace which includes state of the environment, last executed n commands & output from last n commands

1from langchain.agents import create_openai_functions_agent, AgentExecutor
2from langchain import hub
3from langchain_openai import ChatOpenAI
4from composio_langchain import ComposioToolSet, Action, App
5
6llm = ChatOpenAI()
7prompt = hub.pull("hwchase17/openai-functions-agent")
8
9composio_toolset = ComposioToolSet(api_key="")
10tools = composio_toolset.get_tools(actions=['HISTORY_FETCHER_GET_WORKSPACE_HISTORY'])
11
12agent = create_openai_functions_agent(llm, tools, prompt)
13agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
14
15task = "your task description here"
16result = agent_executor.invoke({"input": task})
17print(result)