pub fn read_toml(&self) -> Option<Result<HakariCargoToml, CargoTomlError>> {
        let hakari_package = self.hakari_package()?;
        let workspace_path = hakari_package
            .source()
            .workspace_path()
            .expect("hakari_package is in workspace");
        Some(HakariCargoToml::new_relative(
            self.graph.workspace().root(),
            workspace_path,
        ))
    }
Reads the existing TOML file for the Hakari package from disk, returning a
`HakariCargoToml`.

This can be used with [`Hakari::to_toml_string`](Hakari::to_toml_string) to manage the
contents of the Hakari package's TOML file on disk.

Returns an error if there was an issue reading the TOML file from disk, or `None` if
this builder was created without a Hakari package.
tools/hakari/src/hakari.rs