{"id":37982134,"url":"https://github.com/pouchcontainer/pouchrobot","last_synced_at":"2026-01-16T18:35:37.051Z","repository":{"id":57543661,"uuid":"117648135","full_name":"pouchcontainer/pouchrobot","owner":"pouchcontainer","description":"An AI robot to collaborate in any open source project on GitHub","archived":false,"fork":false,"pushed_at":"2019-07-22T16:32:39.000Z","size":9522,"stargazers_count":41,"open_issues_count":16,"forks_count":24,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-06-20T12:39:06.131Z","etag":null,"topics":["collaboration","container","github-api","robot"],"latest_commit_sha":null,"homepage":"","language":"Go","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/pouchcontainer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-16T07:24:11.000Z","updated_at":"2023-12-05T14:48:07.000Z","dependencies_parsed_at":"2022-08-27T18:51:30.453Z","dependency_job_id":null,"html_url":"https://github.com/pouchcontainer/pouchrobot","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/pouchcontainer/pouchrobot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pouchcontainer%2Fpouchrobot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pouchcontainer%2Fpouchrobot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pouchcontainer%2Fpouchrobot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pouchcontainer%2Fpouchrobot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pouchcontainer","download_url":"https://codeload.github.com/pouchcontainer/pouchrobot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pouchcontainer%2Fpouchrobot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28480953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["collaboration","container","github-api","robot"],"created_at":"2026-01-16T18:35:36.977Z","updated_at":"2026-01-16T18:35:37.039Z","avatar_url":"https://github.com/pouchcontainer.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pouchrobot\n\n[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)\n[![GoDoc](https://godoc.org/github.com/pouchcontainer/pouchrobot?status.svg)](https://godoc.org/github.com/pouchcontainer/pouchrobot)\n[![Go Report Card](https://goreportcard.com/badge/github.com/pouchcontainer/pouchrobot)](https://goreportcard.com/report/github.com/pouchcontainer/pouchrobot)\n\n## Main Links\n\n- [Introduction](#introduction)\n- [Features](#features)\n  - [issue/pr triage](#issuepr-triage)\n  - [auto-generated weekly report](#auto-generated-weekly-report)\n  - [auto generated documentation](#auto-generated-documentation)\n  - [notice of status change](#friendly-notice-for-prs-status-change)\n- [Architecture](#architecture)\n- [Quick Start](#quick-start)\n- [Contributing](#contributing)\n\n## Introduction\n\npouchrobot is a cute robot to help collaboration in any open source projects become better. Also there is a GitHub user [pouchrobot](https://github.com/pouchrobot) who is the exact instance of project pouchrobot.\n\nEveryone knows that collaboration of a software project is quite trivial, repeated and time-costing. If owner of a project needs to guarantee the efficiency of development and testing, or releasing, he must invest some human resources there. However, if a robot could do him a favor to automatically handle collaborating affairs, it could bring lots of convenience. Fortunately pouchrobot is such an intelligent robot to take the role of a GitHub user account to automatically do what a human would act manually to manage the project.\n\n\u003e NOTE: pouchrobot GitHub user needs to gain some certain access (READ/WRITE) to the target open source project according different features.\n\n## Features\n\npouchrobot could help finish lots of work in open source project on GitHub. If we divide all these practical feature into categories, we can find the following four parts:\n\n- issue/pull request triage\n- weekly report auto generating via a filed issue\n- some doc auto generation for project via pull request\n- friendly notice for pull request's status change\n\n### issue/pr triage\n\nWhen an active participant files an issue or puts forward a pull request, it would be much better for the community to quickly notice which aspect the issue/pr is related to. Clear information makes community feel more straightforward.\n\npouchrobot will triage issue/pr into different aspects. The working steps are like following:\n\n- First, it analyzes the issue body or pull request body to extract useful information.\n- Second, it maps the useful information to some fixed rules.\n- Third, it attached labels of project to the issue/pr.\n\nWe can see the real effect (the colored outlined labels) from the following graph.\n\n![triage-labels](./docs/static_files/triage-example.png)\n\n\u003e TODO: we are going to make pouchrobot have abilities to import some certain fixed labels at the very beginning as a step of label initialization.\n\n### auto-generated weekly report\n\nWeekly report means something for an open souce project. It conludes what happened in the past week in repo. While collecting these information is quite bothering. The good news is that pouchrobot have the ability to take care of this part via a newly filed issue.\n\nCurrently what covered in weekly report are:\n\n- repo star/watch/fork summary and change\n- pull request update divided into feature, bugfix, doc, test and others\n- code review statistics from community participants\n- contribitors newly joining the project\n\nThe following link contains a typical weekly report generated by pouchrobot: [Weekly Report of PouchContainer from 2018-10-13 to 2018-10-20](https://github.com/alibaba/pouch/issues/2337).\n\n### auto-generated documentation\n\nWe know that develops enjoy inventing awesome softwares via codes very much. However, a brilliant software contains not only great codes, but also instrument or document to attract end-users on board.\n\nHow about letting document editting be handled by pouchrobot via a pull request?\n\nCurrently only three kinds of document are covered:\n\n- API document generation only for [swagger](https://swagger.io/)\n- CLI document generation only for golang [cobra](https://github.com/spf13/cobra)\n- repo's own CONTRIBUTORS file which records the emails for all contributors\n\n### friendly notice for pr's status change\n\n- notice pull request submitter continuous integration failure via comments from [TravisCI](https://travis-ci.org/) and [CircleCI](http://circleci.com/)(TODO)\n- notice pull request submitter to take a rebase action since too old to the master branch;\n- notice pull request submitter pull request conflict when a conflicting pull request merged into master branch;\n- automatically merge pull request when it meets the condition (TODO);\n- support retest pull request according maintainer's order (TODO);\n\n### Access requirement for features\n\n|feature|Read access|Write Access|Admin Access|\n|:-:|:-:|:-:|:-:|\n|issue/pr triage|yes|yes|no|\n|weekly report generation|yes|no|no|\n|doc generation|yes|no|no|\n|auto notice|yes|no|no|\n\n\u003e NOTE: attaching labels requires pouchrobot has write access of the repo.\n\n## Architecture\n\npouchrobot acts as a daemon process on a third-party public cloud. When running, it would have three kinds of API communication:\n\n- receive github webhook of project [Pouch](https://github.com/alibaba/pouch) when events happen;\n- receive CI system webhooks, like travisCI and circleCI;\n- fetch and deal with object on project, like issue, pull request, comments and so so;\n\nHere is the simple communication architecture of pouchrobot:\n\n![Communication Architecture](docs/static_files/pouchrobot-arch.png)\n\n## Quick Start\n\nFirst of all, let us take a look at the command line usage of pouchrobot:\n\n```\n$ pouchrobot --help\nUsage:\n  An AI-based collaboration robot applied to open source project on GitHub [flags]\n\nFlags:\n  -c, --config string           Config file path for robot (default \"config.json\")\n```\n\npouchrobot is totally fitable in running a container. In this repo, we can find a Dockerfile to build the corresponding image. When finishing the building, the following command could help to setup a brand new robot:\n\n\u003e pouch run -d -v /root/newssh:/root/.ssh -v /config:/root/config -p 6789:6789 pouchrobot:v1.0 --config /root/config/config.json\n\nYou can make your own config file by following the format of `config_template.json` file\n\n## Contributing\n\nYou can contribute to pouchrobot in several different ways:\n\n- To report a problem or request a feature, please feel free to file an issue.\n- Of course, we welcome pull requests and patches. Setting up a local pouchrobot development environment and submitting PRs.\n\n## Copyright and License\n\nCopyright © 2017. All rights reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpouchcontainer%2Fpouchrobot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpouchcontainer%2Fpouchrobot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpouchcontainer%2Fpouchrobot/lists"}