Merge remote-tracking branch 'origin/main' into fix/slack-interview-context-and-run-link

# Conflicts:
#	lib/crates/fabro-slack/src/blocks.rs
This commit is contained in:
Bryan Helmkamp 2026-05-13 07:35:13 -04:00
commit 5641cc797c
No known key found for this signature in database
4 changed files with 57 additions and 67 deletions

View file

@ -4,17 +4,15 @@ Thanks for your interest in contributing to Fabro!
## How to contribute
Fabro uses an **issue-based contribution model**. Instead of accepting outside pull requests, we accept bug reports and feature requests as GitHub Issues.
Outside contributions are welcome! Whether it's a bug fix, a new feature, documentation, or a typo -- we'd love your help making Fabro better.
1. **Open an issue** -- File an issue on [GitHub Issues](https://github.com/fabro-sh/fabro/issues) with a bug report or feature request. The more detail your issue contains, the easier it will be for us to address it quickly and successfully.
2. **We build it** -- A Fabro maintainer will follow our software development process to create a patch, supervising AI coding agents and workflows.
3. **You get credit** -- We will include you as a co-author on the commit which lands the change.
See the [README](README.md#contributing-to-fabro) for more on why we use this model.
- **Bug fixes and small improvements** -- Send a pull request directly. No need to open an issue first.
- **Larger features or changes** -- Please open a [GitHub Issue](https://github.com/fabro-sh/fabro/issues) or start a [Discussion](https://github.com/fabro-sh/fabro/discussions) first so we can align on the approach before you invest significant time.
- **Questions** -- Open a Discussion or email [bryan@qlty.sh](mailto:bryan@qlty.sh).
## Development setup
If you are maintaining a fork, the instructions below will help you build and test locally.
The instructions below will help you build and test Fabro locally.
### Prerequisites

92
Cargo.lock generated
View file

@ -1580,7 +1580,7 @@ dependencies = [
[[package]]
name = "fabro-acp"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"agent-client-protocol",
"agent-client-protocol-tokio",
@ -1602,7 +1602,7 @@ dependencies = [
[[package]]
name = "fabro-agent"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"async-trait",
@ -1641,7 +1641,7 @@ dependencies = [
[[package]]
name = "fabro-api"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"chrono",
"fabro-config",
@ -1662,7 +1662,7 @@ dependencies = [
[[package]]
name = "fabro-auth"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"async-trait",
@ -1686,11 +1686,11 @@ dependencies = [
[[package]]
name = "fabro-build-support"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
[[package]]
name = "fabro-checkpoint"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"chrono",
"fabro-config",
@ -1706,7 +1706,7 @@ dependencies = [
[[package]]
name = "fabro-cli"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"assert_cmd",
@ -1807,7 +1807,7 @@ dependencies = [
[[package]]
name = "fabro-client"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"bytes",
@ -1836,7 +1836,7 @@ dependencies = [
[[package]]
name = "fabro-config"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"chrono",
@ -1864,7 +1864,7 @@ dependencies = [
[[package]]
name = "fabro-core"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"async-trait",
"fabro-types",
@ -1879,7 +1879,7 @@ dependencies = [
[[package]]
name = "fabro-dev"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"assert_cmd",
@ -1898,7 +1898,7 @@ dependencies = [
[[package]]
name = "fabro-devcontainer"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"fabro-http",
"fabro-static",
@ -1915,7 +1915,7 @@ dependencies = [
[[package]]
name = "fabro-dump"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"bytes",
@ -1929,7 +1929,7 @@ dependencies = [
[[package]]
name = "fabro-github"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"base64",
@ -1951,7 +1951,7 @@ dependencies = [
[[package]]
name = "fabro-graphviz"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"fabro-types",
@ -1965,7 +1965,7 @@ dependencies = [
[[package]]
name = "fabro-hooks"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"async-trait",
"fabro-agent",
@ -1989,7 +1989,7 @@ dependencies = [
[[package]]
name = "fabro-http"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"fabro-static",
"http",
@ -1999,7 +1999,7 @@ dependencies = [
[[package]]
name = "fabro-install"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"base64",
@ -2014,7 +2014,7 @@ dependencies = [
[[package]]
name = "fabro-interview"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"async-trait",
"dialoguer",
@ -2029,7 +2029,7 @@ dependencies = [
[[package]]
name = "fabro-llm"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"async-trait",
@ -2061,7 +2061,7 @@ dependencies = [
[[package]]
name = "fabro-macros"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"clap",
"fabro-options-metadata",
@ -2072,7 +2072,7 @@ dependencies = [
[[package]]
name = "fabro-manifest"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"fabro-api",
@ -2090,7 +2090,7 @@ dependencies = [
[[package]]
name = "fabro-mcp"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"fabro-config",
@ -2106,7 +2106,7 @@ dependencies = [
[[package]]
name = "fabro-mcp-server"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"chrono",
@ -2128,7 +2128,7 @@ dependencies = [
[[package]]
name = "fabro-model"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"fabro-static",
"insta",
@ -2142,7 +2142,7 @@ dependencies = [
[[package]]
name = "fabro-oauth"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"axum",
@ -2164,7 +2164,7 @@ dependencies = [
[[package]]
name = "fabro-options-metadata"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"serde",
"serde_json",
@ -2172,7 +2172,7 @@ dependencies = [
[[package]]
name = "fabro-proc"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"cc",
"libc",
@ -2181,7 +2181,7 @@ dependencies = [
[[package]]
name = "fabro-redact"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"aho-corasick",
"ref-cast",
@ -2197,7 +2197,7 @@ dependencies = [
[[package]]
name = "fabro-sandbox"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"async-trait",
@ -2240,7 +2240,7 @@ dependencies = [
[[package]]
name = "fabro-server"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"async-trait",
@ -2322,7 +2322,7 @@ dependencies = [
[[package]]
name = "fabro-slack"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"fabro-http",
"fabro-interview",
@ -2343,18 +2343,18 @@ dependencies = [
[[package]]
name = "fabro-spa"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"rust-embed",
]
[[package]]
name = "fabro-static"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
[[package]]
name = "fabro-store"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"async-trait",
"bytes",
@ -2381,7 +2381,7 @@ dependencies = [
[[package]]
name = "fabro-telemetry"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"base64",
@ -2407,7 +2407,7 @@ dependencies = [
[[package]]
name = "fabro-template"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"fabro-util",
@ -2419,7 +2419,7 @@ dependencies = [
[[package]]
name = "fabro-test"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"assert_cmd",
"axum",
@ -2442,7 +2442,7 @@ dependencies = [
[[package]]
name = "fabro-tracker"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"async-trait",
@ -2456,7 +2456,7 @@ dependencies = [
[[package]]
name = "fabro-types"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"chrono",
"clap",
@ -2477,7 +2477,7 @@ dependencies = [
[[package]]
name = "fabro-util"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"console 0.15.11",
@ -2497,7 +2497,7 @@ dependencies = [
[[package]]
name = "fabro-validate"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"fabro-graphviz",
"fabro-model",
@ -2508,7 +2508,7 @@ dependencies = [
[[package]]
name = "fabro-vault"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"chrono",
"fabro-types",
@ -2520,7 +2520,7 @@ dependencies = [
[[package]]
name = "fabro-workflow"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"assert_cmd",
@ -7298,7 +7298,7 @@ dependencies = [
[[package]]
name = "twin-github"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"axum",
"base64",
@ -7317,7 +7317,7 @@ dependencies = [
[[package]]
name = "twin-openai"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
dependencies = [
"anyhow",
"async-stream",

View file

@ -5,7 +5,7 @@ resolver = "2"
[workspace.package]
edition = "2021"
version = "0.231.0-nightly.3"
version = "0.232.0-nightly.0"
license = "MIT"
[workspace.dependencies]

View file

@ -161,21 +161,13 @@ See the [deployment overview](https://docs.fabro.sh/administration/deployment) f
## Contributing to Fabro
Fabro uses an **issue-based contribution model**. Instead of accepting outside pull requests, we accept bug reports and feature requests as GitHub Issues.
Outside contributions are welcome! Whether it's a bug fix, a new feature, documentation, or a typo -- we'd love your help making Fabro better.
AI can rapidly write or edit large amounts of plausible-looking code. Accepting these patches from external sources opens up risks to security and quality. To mitigate these risks, we are tightly controlling the inputs into the software development process.
- **Bug fixes and small improvements** -- Send a pull request directly.
- **Larger features or changes** -- Open a [GitHub Issue](https://github.com/fabro-sh/fabro/issues) or start a [Discussion](https://github.com/fabro-sh/fabro/discussions) first so we can align on the approach.
- **Questions** -- Open a Discussion or email [bryan@qlty.sh](mailto:bryan@qlty.sh).
Contributions follow these steps:
1. **Open an issue** -- File an issue with a bug report or feature request. The more detail your issue contains, the easier it will be for us to address it quickly and successfully.
2. **We build it** -- A Fabro maintainer will follow our software development process to create a patch, supervising AI coding agents and workflows.
3. **You get credit** -- We will include you as a co-author on the commit which lands the change.
As a result, you get the feature you need, without needing to keep a fork in sync.
If you need a capability which is not in-scope for Fabro, you always have the option to maintain a fork of Fabro as it is distributed under the MIT license.
See [CONTRIBUTING.md](CONTRIBUTING.md) for build instructions and development workflow.
---