-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
120 lines (111 loc) · 3.4 KB
/
Cargo.toml
File metadata and controls
120 lines (111 loc) · 3.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
[workspace]
resolver = "2"
members = [
"crates/pforge-cli",
"crates/pforge-runtime",
"crates/pforge-codegen",
"crates/pforge-config",
"crates/pforge-macro",
"crates/pforge-bridge",
"crates/pforge-integration-tests",
"examples/calculator",
"examples/telemetry-server",
]
exclude = ["fuzz"]
[workspace.package]
version = "0.1.4"
edition = "2021"
license = "MIT"
repository = "https://github.com/paiml/pforge"
authors = ["Pragmatic AI Labs"]
description = "Zero-boilerplate MCP server framework with EXTREME TDD methodology"
keywords = ["mcp", "codegen", "tdd", "framework", "declarative"]
categories = ["development-tools", "web-programming", "command-line-utilities"]
homepage = "https://github.com/paiml/pforge"
documentation = "https://docs.rs/pforge-runtime"
[workspace.dependencies]
# Common dependencies
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
thiserror = "1.0"
anyhow = "1.0"
tokio = { version = "1.35", features = ["full", "test-util"] }
async-trait = "0.1"
# Testing dependencies
proptest = "1.4"
tempfile = "3.8"
# External crates (PAIML ecosystem)
trueno-db = { version = "0.3.5", default-features = false }
# Internal crates
pforge-runtime = { path = "crates/pforge-runtime", version = "0.1.0" }
pforge-config = { path = "crates/pforge-config", version = "0.1.0" }
pforge-codegen = { path = "crates/pforge-codegen", version = "0.1.0" }
pforge-macro = { path = "crates/pforge-macro", version = "0.1.0" }
[workspace.lints.rust]
unsafe_op_in_unsafe_fn = "warn"
unreachable_pub = "allow"
# TODO: Re-enable missing_docs after documentation sprint
missing_docs = "allow"
[workspace.lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
# Allow these common patterns
module_name_repetitions = "allow"
must_use_candidate = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
redundant_pub_crate = "allow"
# Allow these for now - TODO: Fix in quality sprint
format_push_string = "allow"
uninlined_format_args = "allow"
missing_const_for_fn = "allow"
doc_markdown = "allow"
significant_drop_tightening = "allow"
option_if_let_else = "allow"
unused_self = "allow"
use_self = "allow"
return_self_not_must_use = "allow"
cast_precision_loss = "allow"
wildcard_enum_match_arm = "allow"
match_wildcard_for_single_variants = "allow"
map_unwrap_or = "allow"
match_same_arms = "allow"
disallowed_methods = "allow"
disallowed_types = "allow"
cast_possible_truncation = "allow"
cast_sign_loss = "allow"
cast_possible_wrap = "allow"
inline_always = "allow"
derive_partial_eq_without_eq = "allow"
wildcard_imports = "allow"
too_many_lines = "allow"
needless_pass_by_value = "allow"
significant_drop_in_scrutinee = "allow"
float_cmp = "allow"
only_used_in_recursion = "allow"
doc_link_with_quotes = "allow"
future_not_send = "allow"
default_constructed_unit_structs = "allow"
default_trait_access = "allow"
manual_let_else = "allow"
ptr_cast_constness = "allow"
ptr_as_ptr = "allow"
bool_to_int_with_if = "allow"
or_fun_call = "allow"
needless_raw_string_hashes = "allow"
explicit_iter_loop = "allow"
redundant_clone = "allow"
# Enforce safety (warn only, not deny)
unwrap_used = "allow"
expect_used = "allow"
panic = "allow"
[workspace.metadata.pmat]
quality-gates = ".pmat/quality-gates.yaml"
metrics = ".pmat-metrics.toml"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
strip = true