Skip to content

Initialize Cargo workspace with iced, serde, and core dependencies #91

@doomspork

Description

@doomspork

Context

First issue in the Fig Rust + Iced migration. Sets up the Cargo workspace structure with two sub-crates.

What to implement

Create a Cargo workspace at the repo root with two sub-crates:

  • fig-core (library) — models and services
  • fig-ui (binary) — Iced GUI application

File paths to create

  • Cargo.toml (workspace)
  • fig-core/Cargo.toml
  • fig-core/src/lib.rs
  • fig-ui/Cargo.toml
  • fig-ui/src/main.rs (minimal Iced app that opens a window titled "Fig")

Dependencies for fig-core/Cargo.toml

[dependencies]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
chrono = { version = "0.4", features = ["serde"] }
notify = "7"
tokio = { version = "1", features = ["full"] }
thiserror = "2"
uuid = { version = "1", features = ["v4", "serde"] }
dirs = "6"
reqwest = { version = "0.12", features = ["json"] }
log = "0.4"
env_logger = "0.11"
arboard = "3"
walkdir = "2"

Dependencies for fig-ui/Cargo.toml

[dependencies]
fig-core = { path = "../fig-core" }
iced = { version = "0.13", features = ["tokio", "svg"] }
iced_aw = "0.11"

Acceptance criteria

  • cargo build compiles without errors
  • cargo run -p fig-ui opens a window with the title "Fig"
  • cargo test -p fig-core runs (even if no tests yet)
  • Workspace structure follows plan layout

Test requirements

None beyond successful compilation.

Blocks

#86, #90, #92

Metadata

Metadata

Assignees

No one assigned

    Labels

    epic:foundationProject setup, architecture, core infrastructureepic:rust-migrationRust + Iced migration infrastructurephase:1Phase 1 — Read-only explorerpriority:highMust-have for MVPtype:choreBuild, tooling, infrastructure

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions