Skip to content

self-evolving/repo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

167 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sepo: self-evolving repository

Mention @sepo-agent on a GitHub issue, pull request, or discussion to answer questions, implement issues, review PRs, fix PR branches, or create durable scheduled agent workflows. Sepo runs inside GitHub Actions and keeps working context in repository-owned branches, so collaboration stays in GitHub instead of moving to a separate chat surface.

Sepo turns a repository into a self-evolving repository: a codebase that can react to user requests, preserve agent-facing memory and user/team rubrics, and improve both application code and its own automation over time. For the concept behind that architecture, see What is a self-evolving repository?.

Sepo overview

Quick Start

Start from this template

  1. Fork this repository or use it as a template.
  2. Install the Sepo GitHub App and ensure GitHub Actions is enabled for your repository.
  3. Add at least one model-provider credential as a repository secret:
    • OPENAI_API_KEY for Codex-backed runs.
    • CLAUDE_CODE_OAUTH_TOKEN for Claude-backed runs.
  4. Run Agent / Onboarding / Check Setup from GitHub Actions. It creates the built-in agent/* trigger labels if they are missing and opens or updates a Sepo setup check issue with configuration status and copyable test commands.
  5. Open an issue and mention @sepo-agent in the issue body or a comment. After a short delay, the workflow should add an eyes reaction and then post a response.

Install into an existing repository

Check Install into an existing repository for the detailed guide. TL;DR: you (or your agent) should copy .agent/ and .github/, configure secrets, run the onboarding setup check, and initialize agent memory from GitHub Actions.

What You Can Ask It To Do

In any GitHub text input (issues, PRs, discussions), call the agent to execute tasks

# Use a free-form mention when you want the router to infer the best route:
@sepo-agent can you explain how review synthesis works?

# Use an explicit slash route when you already know the action
@sepo-agent /implement implement issue #2

# Invoke arbitrary skills
@sepo-agent /skill <skill-name>

# Inside a PR
@sepo-agent /review
@sepo-agent /fix-pr
@sepo-agent /orchestrate

Warning

Only authorized repository users can trigger Sepo. By default, repositories allow OWNER, MEMBER, COLLABORATOR, and CONTRIBUTOR associations; public repositories can tighten this with AGENT_ACCESS_POLICY. See Trigger access policy to customize that behavior.

You can also trigger the same built-in routes by adding agent/* labels to PRs

For example, adding the agent/review label will run the review agent. The Agent / Onboarding / Check Setup workflow creates the built-in trigger labels on first run.

Task Orchestration Route

Use @sepo-agent /orchestrate (or agent/orchestrate) to run the orchestration route explicitly. It checks current target state, dispatches the right built-in action (implement, review, or fix-pr), and keeps that explicitly started chain moving through bounded follow-up handoffs until a stop condition is reached. Direct /implement, /review, and /fix-pr requests remain one-shot.

Tracking Workspace Memory and Rubrics

Sepo persists long-lived context in agent/memory and preference rules in agent/rubrics, both as repository-owned branches. This lets later runs resume with durable project context and team-specific guidance.

Scheduled Jobs

You can run Sepo on a schedule to handle recurring maintenance, triage, or monitoring tasks without a manual mention. For example, agent-daily-summary.yml can publish a daily repository activity summary discussion, and agent-update.yml checks near-biweekly for Sepo agent infrastructure updates from the latest stable release tag. Manual update runs can pass source_ref to test main, a branch, or a specific tag; if no release exists yet, the workflow falls back to main and records that in the run summary. If an update PR is already open, later runs update that PR instead of opening a duplicate. Set AGENT_AUTO_UPDATE=false to disable the scheduled update check. Scheduled workflows still route through the same policy and memory layers, so they behave consistently with on-demand runs.

How It Works

Every trigger converges on agent-router.yml, which extracts GitHub context, applies access policy, optionally triages free-form requests with a model, and dispatches to a specialized route. Agent sessions are persisted across runs with git refs and GitHub Actions artifacts, so a later mention can continue from prior context.

Durable context lives in two repository-owned branches:

  • agent/memory mirrors GitHub artifacts and stores curated project context.
  • agent/rubrics stores user/team preferences that guide implementation and review.

Orchestration runs through agent-orchestrator.yml as an explicit route. Follow-up automation starts only when requested, and only workflows launched with explicit orchestration context hand back to the orchestrator.

Learn More

Getting started:

Understanding the system:

Customizing and operating:

See the full documentation index for technical details, deployment options, and the complete docs tree.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors