Skip to content

Commit 664afe0

Browse files
committed
init: upload source
0 parents  commit 664afe0

28 files changed

+15975
-0
lines changed

.assets/titor.png

619 KB
Loading

.gitignore

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Rust build artifacts
2+
/target/
3+
**/*.rs.bk
4+
*.pdb
5+
6+
# Cargo lock for libraries
7+
Cargo.lock
8+
9+
# IDE and editor files
10+
.idea/
11+
.vscode/
12+
*.swp
13+
*.swo
14+
*~
15+
.DS_Store
16+
17+
# Test data
18+
.titor/
19+
20+
# Benchmark results
21+
/target/criterion/
22+
23+
# Documentation build
24+
/target/doc/
25+
26+
# Temporary files
27+
*.tmp
28+
*.temp

Cargo.toml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
[package]
2+
name = "titor"
3+
version = "0.1.0"
4+
edition = "2021"
5+
authors = ["Mufeed VH <mufeed@asterisk.so>"]
6+
description = "A high-performance checkpointing library for time-travel through directory states"
7+
license = "MIT"
8+
readme = "README.md"
9+
repository = "https://github.com/getAsterisk/titor"
10+
keywords = ["checkpoint", "snapshot", "backup", "time-travel", "versioning"]
11+
categories = ["filesystem", "data-structures"]
12+
13+
[features]
14+
default = []
15+
quick-bench = []
16+
17+
[dependencies]
18+
# Serialization
19+
serde = { version = "1.0", features = ["derive"] }
20+
serde_json = "1.0"
21+
bincode = { version = "2.0", features = ["serde"] }
22+
23+
# Hashing and Compression
24+
sha2 = "0.10"
25+
lz4_flex = "0.11"
26+
gxhash = "3.5" # Fast non-cryptographic hash algorithm
27+
28+
# File system operations
29+
walkdir = "2.5"
30+
jwalk = "0.8" # For parallel directory walking with gitignore support
31+
tempfile = "3.20"
32+
globset = "0.4" # For proper glob pattern matching
33+
ignore = "0.4" # For proper .gitignore handling with recursive support
34+
35+
# Time and Date
36+
chrono = { version = "0.4", features = ["serde"] }
37+
38+
# Error handling
39+
thiserror = "2.0"
40+
anyhow = "1.0"
41+
42+
# Parallel processing and async
43+
rayon = "1.10"
44+
num_cpus = "1.17"
45+
tokio = { version = "1.46", features = ["rt", "rt-multi-thread", "macros", "time", "fs", "sync"] }
46+
47+
# Progress reporting
48+
indicatif = { version = "0.18", optional = true }
49+
50+
# CLI
51+
clap = { version = "4.5", features = ["derive"], optional = true }
52+
53+
# Logging
54+
tracing = "0.1"
55+
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
56+
57+
# Concurrency
58+
parking_lot = "0.12"
59+
dashmap = "6.1"
60+
61+
# Utilities
62+
hex = "0.4"
63+
humantime = "2.2"
64+
uuid = { version = "1.17", features = ["v4", "serde"] }
65+
hostname = "0.4"
66+
67+
# MCP Support (for titor_mcp_server example)
68+
rmcp = { version = "0.2.1", features = ["server", "macros", "transport-io"], optional = true }
69+
schemars = { version = "1.0", optional = true }
70+
71+
[dev-dependencies]
72+
criterion = { version = "0.6", features = ["html_reports"] }
73+
proptest = "1.7"
74+
rand = "0.9"
75+
tracing-test = "0.2"
76+
filetime = "0.2"
77+
78+
# CLI dependencies
79+
clap = { version = "4.5", features = ["derive", "cargo"] }
80+
colored = "3.0"
81+
indicatif = "0.18"
82+
83+
[profile.release]
84+
lto = true
85+
codegen-units = 1
86+
opt-level = 3
87+
88+
[profile.bench]
89+
inherits = "release"
90+
91+
[[example]]
92+
name = "titor_cli"
93+
path = "examples/titor_cli.rs"
94+
95+
[[example]]
96+
name = "titor_mcp_server"
97+
path = "examples/titor_mcp_server.rs"
98+
required-features = ["rmcp", "schemars"]
99+
100+
[[bench]]
101+
name = "titor_bench"
102+
harness = false

0 commit comments

Comments
 (0)