Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Epic: AI-native build interface — make the build model and run results machine-readable

未关闭
#648 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 5 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
25/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
活跃
技术栈
csharp

调研方向

先阅读 Build.cs 和现有的计划解析器,以及 issue 中提到的 ExecutableTarget、Parameter、Host.WriteTargetOutcome 和 Host.WriteBuildOutcome 引用。然后查看 issues #642、#643、#644、#647 和 #646,以了解分别跟踪的功能和依赖关系。完成意味着该里程碑的机器可读模型、运行摘要、效果、缓存和 MCP 工作彼此协调,且不重复 #391、#104 或 #156。

由索引模型根据 Issue 内容生成。

描述

enhancement target/backlog
Problem

Fallout already holds a complete model of a build in memory. The plan resolver walks the dependency graph, ExecutableTarget carries per-target status and tool requirements, and [Parameter] declares typed inputs with defaults. None of that is reachable as data.

Everything leaves the process as human-oriented console text through Host.WriteTargetOutcome and Host.WriteBuildOutcome. A caller that is a program rather than a person has to infer the build from Build.cs and guess at results by pattern-matching a large log. That is slow, expensive in tokens for an AI consumer, and easy to get confidently wrong — reporting "tests failed" when restore was what actually failed.

Outcome

A machine consumer can ask Fallout three questions and get answers as data:

  • What can this build do?
  • What would this run do?
  • What did this run do?

Plus two capabilities that make automated use safe and fast enough to be worth having: declared target effects, and target-level caching.

Scope
Capability Issue
Build model as data: describe --json, plan --json #642
Durable run summary plus semantic exit codes #643
Declared target effects, gated at plan time #644
Content-addressed target caching #647
MCP server as a standalone product #646

The MCP server is deliberately last. It is a thin layer over #642 (the build model as data) and #643 (the durable run summary), and building it first would mean screen-scraping the console output this milestone exists to replace.

Already tracked elsewhere

Structured console output is covered and is not re-filed here:

  • #391 (Serilog event core, Spectre console frame, NDJSON machine path) — the streaming half, with a concrete task list
  • #104 (AI-friendly terse and structured output modes) — the output-mode design and its open questions
  • #156 (IOutputSink extension point) — the plugin extension point these land on
Notes

Every item in this milestone is a serialisation of, or a gate on, a model the engine already has. None of them needs a new execution engine. Dogfooding them also pressure-tests the IOutputSink and related extension points before the plugin SDK (milestone #7) makes those shapes public API.

主要语言
C#
星标
169
派生
21
平均合并
3 天 7 小时
30 天内合并 PR
9

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

Fallout-build/Fallout 的其他 Issue

查看 Fallout-build/Fallout 的全部 Issue

相似的 Issue

更多 C# Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。