Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

v2: Task-source port with local markdown as the first alternative

オープン
#115 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
静か
技術スタック
github, markdown, sqlite, typescript

調査の方向性

The issue is explicitly parked for v2 and calls for an ADR before implementation. Start by reading ADRs 0007 and 0008, then inspect the current item source, item key, and repository label projection in the engine. Done means an ADR defines the tracker and code-host separation and a local markdown source is scoped as the first implementation slice.

索引モデルが issue の本文から書いたものです。

説明

Status: parked for v2

Future exploration. Revisit when a concrete non-GitHub source is needed, starting with an ADR that separates tracker and code-host concerns. This is not required for the current GitHub factory. The Board Task projection in #80 groups related work; it does not introduce this source port.

Original proposal

The run state (Run, Attempt, RunState in SQLite) is already usine's own. What is GitHub-shaped today:

  • The Event payload is GitHub's slice by design (ADR 0007), and loop if: expressions range over item.labels.nodes and friends.
  • StepResult facts name pull requests and GitHub comments.
  • RepositoryName is a GitHub owner/name; the tracker and the code host are the same axis.
  • The repository label projection lives inside @usine/engine.
  • Board lanes are labels (ADR 0008), and the item key encodes github.

The workflow-in-labels pattern (ready-for-agent, agent-in-progress, ready-for-review, review-passed) is the label-protocol authoring style ADR 0007 names. The engine does not depend on it; the loops do. ItemProjectionSource and the item key prefix identify the current source; they are not yet a source-independent service port.

What a task-source port needs:

  1. A TaskSource service: list changed items since a watermark, fetch one item's payload, write state back (labels, comments). GitHub, local markdown files, Linear, and Jira each implement it.
  2. An owned Task shape: id, origin, title, body, state, labels, links to branch and PR. Keep the source-native payload beside it so if: expressions keep fields like reviews.nodes and headRefOid.
  3. Separating the tracker axis from the code-host axis.
  4. Moving the repository label projection out of the engine into the GitHub layer.

Fully local: the runtime store, the local worker, and the instance folder are already local. Triggers and repository identity are not. A local stream reading tasks/*.md with frontmatter state from the instance repo, plus a local repository path, would make usine runnable with no GitHub at all, and it is the best test seam the engine could have.

Proposal: write the ADR first, then take the local markdown source as the first slice.

主要言語
TypeScript
スター
1
フォーク
0
平均マージ
4時間 26分
マージ済み PR(30日)
280

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

basaltbytes/usine のほかの issue

basaltbytes/usine の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。