{"id":25173767,"url":"https://github.com/clearfeed/quix","last_synced_at":"2025-08-21T06:47:05.326Z","repository":{"id":276524882,"uuid":"928668722","full_name":"clearfeed/quix","owner":"clearfeed","description":"Query your business tools from Slack","archived":false,"fork":false,"pushed_at":"2025-08-17T18:16:23.000Z","size":1467,"stargazers_count":8,"open_issues_count":8,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-08-17T20:28:58.996Z","etag":null,"topics":["agent","ai","github","hubspot","jira","slack"],"latest_commit_sha":null,"homepage":"https://quixagent.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clearfeed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-07T02:46:50.000Z","updated_at":"2025-07-29T11:42:52.000Z","dependencies_parsed_at":"2025-02-08T20:19:42.520Z","dependency_job_id":"a04a386e-25d4-41b2-a35b-09a3f592a7c9","html_url":"https://github.com/clearfeed/quix","commit_stats":null,"previous_names":["clearfeed/quix"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/clearfeed/quix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clearfeed%2Fquix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clearfeed%2Fquix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clearfeed%2Fquix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clearfeed%2Fquix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clearfeed","download_url":"https://codeload.github.com/clearfeed/quix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clearfeed%2Fquix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271437811,"owners_count":24759673,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","ai","github","hubspot","jira","slack"],"created_at":"2025-02-09T11:16:33.879Z","updated_at":"2025-08-21T06:47:05.292Z","avatar_url":"https://github.com/clearfeed.png","language":"TypeScript","readme":"# 🚀 Quix: AI-Powered Slack Agent\n\nQuix is an AI-powered Slack agent that can interact with your business tools such as JIRA, GitHub, HubSpot and more. It allows users to interact with these services directly from Slack channels or through 1:1 chats.\n\n## 🔗 Supported Integrations\n\n- ![GitHub](https://img.shields.io/badge/GitHub-181717?style=for-the-badge\u0026logo=github\u0026logoColor=white) - Repository and code management\n- ![Jira](https://img.shields.io/badge/Jira-0052CC?style=for-the-badge\u0026logo=jira\u0026logoColor=white) - Project and issue tracking\n- ![HubSpot](https://img.shields.io/badge/HubSpot-FF7A59?style=for-the-badge\u0026logo=hubspot\u0026logoColor=white) - CRM and marketing\n- ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white) - Database queries\n- ![Notion](https://img.shields.io/badge/Notion-000000?style=for-the-badge\u0026logo=notion\u0026logoColor=white) - Workspace docs and knowledge management\n- ![Okta](https://img.shields.io/badge/Okta-007DC1?style=for-the-badge\u0026logo=okta\u0026logoColor=white) - Identity and access management\n- ![Salesforce](https://img.shields.io/badge/Salesforce-00A1E0?style=for-the-badge\u0026logo=salesforce\u0026logoColor=white) - CRM and sales automation\n- ![Slack](https://img.shields.io/badge/Slack-4A154B?style=for-the-badge\u0026logo=slack\u0026logoColor=white) - Messaging and collaboration\n\n## ✨ Key Features\n\n- **AI-Powered Interactions**: Leverages OpenAI for intelligent responses\n- **Slack Integration**: Natural language interactions through Slack channels and DMs\n- **Multi-Service Integration**: Seamlessly connects with multiple business tools\n- **Modular Architecture**: Built on Nest.js with a scalable monorepo structure\n\n## 🏗️ Project Structure\n\n```\n├── src/                    # Main Nest.js application\n│   ├── lib/               # Core libraries\n│   ├── llm/               # LLM integration\n│   ├── integrations/      # Service integrations\n│   ├── slack/             # Slack bot functionality\n│   └── database/          # Database configurations\n│\n├── agent-packages/        # Integration packages\n│   └── packages/\n│       ├── common/        # Shared utilities and types\n│       ├── github/        # GitHub integration\n│       ├── jira/          # Jira integration\n│       ├── hubspot/       # HubSpot integration\n│       ├── notion/        # Notion integration\n│       ├── okta/          # Okta integration\n│       ├── salesforce/    # Salesforce integration\n│       ├── slack/         # Slack integration\n│       └── postgres/      # PostgreSQL integration\n```\n\n## 🛠️ Setup and Installation\n\n1. **Clone the Repository**:\n\n   ```bash\n   git clone \u003crepository-url\u003e\n   cd quix\n   ```\n\n2. **Install Dependencies**:\n\n   ```bash\n   yarn install\n   ```\n\n3. **Environment Configuration**:\n\n   ```bash\n   cp .env.example .env\n   ```\n\n   Configure the following in your `.env`:\n\n   - `PORT`: Server port (default: 3000)\n   - `OPENAI_API_KEY`: OpenAI API key\n   - `SLACK_BOT_TOKEN`: Slack bot token\n   - `SLACK_SIGNING_SECRET`: Slack signing secret\n\n   - `SELFSERVER_URL`: Your Domain (for development use your ngrok url)\n\n   - `DB_HOST` : Database Hostname\n   - `DB_PORT` : Database Port\n   - `DB_USER` : Database User\n   - `DB_PASSWORD` : Database Password\n   - `DB_NAME` : Database Name\n\n   - `REDIS_HOST` : Redis Hostname\n   - `REDIS_PORT` : Redis PORT\n\n4. **Slack App Setup**:\n\n   a. **For Local Development**:\n\n   ```bash\n   # Install ngrok or similar tool for tunneling\n   brew install ngrok  # macOS\n   # or\n   npm install -g ngrok  # Using npm\n\n   # Start your application\n   yarn start:dev\n\n   # In a new terminal, create a tunnel\n   ngrok http 3000\n   ```\n\n   b. **Create and Configure the Slack App**:\n\n   1. Go to [Slack API Dashboard](https://api.slack.com/apps)\n   2. Click \"Create New App\" → \"From an app manifest\"\n   3. Select your workspace and click \"Next\"\n   4. Copy the contents of `slack_app_manifest.yml`\n   5. Replace the placeholder URLs in the manifest:\n\n      - `\u003cYOUR_EVENTS_URL\u003e` → `https://your-domain/slack/events`\n      - `\u003cYOUR_INTERACTIONS_URL\u003e` → `https://your-domain/slack/interactions`\n      - `\u003cYOUR_REDIRECT_URL\u003e` → `https://your-domain/slack/install`\n\n      For local development, use your ngrok URL: `https://your-ngrok-url.ngrok.io/slack/...`\n\n      For production, use your actual domain: `https://your-domain.com/slack/...`\n\n   6. Click \"Create\"\n\n   c. **Install the App**:\n\n   1. Navigate to \"OAuth \u0026 Permissions\" in your Slack app settings\n   2. Click \"Install to Workspace\"\n   3. Copy the \"Bot User OAuth Token\" and add it to your `.env` as `SLACK_BOT_TOKEN`\n   4. Go to \"Basic Information\" and copy the \"Signing Secret\" to your `.env` as `SLACK_SIGNING_SECRET`\n\n5. **Database Setup**:\n\n   ```bash\n   yarn db:migrate\n   ```\n\n6. **Development Mode**:\n\n   ```bash\n   yarn start:dev\n   ```\n\n7. **Production Build**:\n   ```bash\n   yarn build\n   yarn start:prod\n   ```\n\n## 🐳 Docker Support\n\nRun with Docker:\n\n```bash\n# Build the image\ndocker build -t quix .\n\n# Run with environment variables\ndocker run -p 3000:3000 --env-file .env quix\n```\n\nOr use Docker Compose for local development:\n\n```bash\ndocker-compose -f docker-compose.local.yml up\n```\n\n## 🧩 Extending the Platform\n\n1. Create a new integration package:\n\n   ```bash\n   cd agent-packages/packages\n   mkdir new-integration\n   ```\n\n2. Follow the package structure:\n\n   - `src/index.ts` - Main exports\n   - `src/types.ts` - Type definitions\n   - `src/tools.ts` - Integration tools\n\n3. Build and link the package:\n   ```bash\n   ./link.sh\n   ```\n\n### Health Check\n\n`GET /health` - Health check endpoint.\n\n## 🧩 Extending with New Integrations\n\nTo add a new integration:\n\n1. Create a new package in `agent-packages/packages/`\n2. Implement the integration following the common package structure\n3. Build and link the new package\n4. Import and register the package in the main application\n\n## 📜 License\n\nApache License, Version 2.0\n\n## 🤝 Contributing\n\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclearfeed%2Fquix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclearfeed%2Fquix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclearfeed%2Fquix/lists"}