Linear Agent
Turning conversations into Linear tickets, one chat at a time
What is Linear Agent?
Linear Agent is a chat-based assistant designed to streamline your task management by integrating seamlessly with your Linear account. It allows you to create tickets and manage tasks directly from your conversations, eliminating the need for context switching.
Imagine being able to manage your tasks without leaving your chat interface. Linear Agent makes this a reality!
Why is Linear Agent Important?
Traditional project management often disrupts your workflow, requiring you to switch between applications. Linear Agent addresses this issue by allowing you to:
- Stay where you are: Create tickets without leaving your conversation.
- Use human language: Simply state your needs, like “Create a task to fix the login bug,” and it works.
- Keep your context: The agent remembers your previous discussions.
- Get real-time updates: Check task statuses without opening Linear.
Technical Architecture
Linear Agent is built using LangGraph, which orchestrates the conversation flow. It integrates with various technologies:
- LangChain: Manages interactions with the language model.
- Streamlit: Provides a user-friendly chat interface.
- Linear API: Connects to your Linear workspace for task management.
- Google Generative AI: Powers language understanding.
- Chroma: Stores conversation memory as vector embeddings.
Setup and Installation
To get started with Linear Agent, follow these steps:
Requirements:
- Python 3.9+ (tested on 3.9 and 3.10)
- A Linear account with API access
- A Google Generative AI API key (or your preferred LLM)
Quick Setup:
git clone https://github.com/maxxxara/linear-agent.git
cd linear-agent
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
LINEAR_API_KEY=your_linear_api_key
LINEAR_TEAM_NAME=your_team_name
GOOGLE_API_KEY=your_google_api_key
python run_streamlit.py
Your agent is now ready to chat about tasks!
Usage Examples
Here are some examples of how you can interact with Linear Agent:
Creating a Task:
You: We need to fix that login bug that keeps popping up
Agent: That sounds important. Should I create a ticket for it?
You: Yeah, please do
Agent: Created "Fix recurring login bug" in the Todo state. Want me to assign it to anyone specific?
Checking Your Tasks:
You: I've lost track of what I'm supposed to be doing today
Agent: No problem! Here are your current tasks:
🔵 Implement dark mode - In Progress
⚪ Update API documentation - Todo
⚪ Refactor auth service - Todo
✅ Fix navigation bug - Done
Checking Colleague’s Tasks:
You: What's Alex working on right now?
Agent: Alex has these tasks assigned:
🔵 Redesign landing page - In Progress
🔵 Create new logo variants - In Progress
⚪ Update color palette - Todo
Community and Contribution
Linear Agent is open for contributions! Here’s how you can help:
- Fork the repository.
- Create a branch (`git checkout -b add-amazing-feature`).
- Make your changes.
- Commit your changes (`git commit -m ‘Add this cool new feature’`).
- Push to your branch (`git push origin add-amazing-feature`).
- Open a Pull Request.
All contributions, whether they are bug fixes, new features, or documentation improvements, are welcome!
Conclusion
Linear Agent is a powerful tool that enhances productivity by integrating task management into your chat workflow. By leveraging the capabilities of LangGraph and other technologies, it provides a seamless experience for managing tasks without the need for constant context switching.
For more information, check out the Linear Agent GitHub Repository.
FAQ
What is Linear Agent?
Linear Agent is a chat-based assistant that integrates with your Linear account, allowing you to manage tasks directly from your conversations.
How do I install Linear Agent?
To install Linear Agent, clone the repository, set up a Python virtual environment, install the required packages, and configure your API keys.
Can I contribute to Linear Agent?
Yes! Contributions are welcome. You can fork the repository, make changes, and submit a pull request to help improve the project.