| Crates.io | f1-nexus-cli |
| lib.rs | f1-nexus-cli |
| version | 1.0.0-alpha.2 |
| created_at | 2025-12-17 02:34:22.411333+00 |
| updated_at | 2025-12-17 02:34:22.411333+00 |
| description | F1 Nexus CLI - Command-line interface for F1 strategy optimization |
| homepage | |
| repository | https://github.com/mrkingsleyobi/f1-nexus |
| max_upload_size | |
| id | 1989204 |
| size | 98,022 |
Command-line interface for F1 Nexus - Optimize Formula 1 race strategies from your terminal.
cargo install f1-nexus-cli
git clone https://github.com/mrkingsleyobi/f1-nexus
cd f1-nexus
cargo install --path crates/f1-nexus-cli
f1-nexus optimize --track monaco --laps 78
Output:
🏁 F1 Nexus Strategy Optimizer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Track: Circuit de Monaco
Total Laps: 78
Available Compounds: C1, C2, C3
Optimal Strategy:
Starting Compound: C3 (Soft)
Pit Stops:
1. Lap 28 → C2 (Medium)
2. Lap 52 → C1 (Hard)
Predicted Race Time: 6847.2s (1:54:07.2)
Confidence: 87.5%
✓ Strategy optimized in 67ms
f1-nexus simulate --track spa --laps 44 --iterations 10000
Output:
🎲 Running 10,000 race simulations...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[████████████████████████████████] 10000/10000
Results:
Mean Finish Time: 4852.3s
Median: 4849.1s
Std Dev: ±23.7s
Percentiles:
P10: 4812.5s
P25: 4834.2s
P50: 4849.1s
P75: 4868.9s
P90: 4891.7s
DNF Probability: 2.3%
✓ Simulation complete in 2.1s
optimizeFind optimal pit stop strategy using dynamic programming.
f1-nexus optimize [OPTIONS]
Options:
--track <TRACK> - Circuit name (monaco, silverstone, spa, etc.)--laps <N> - Total race laps--compounds <C1,C2,C3> - Available tire compounds--position <N> - Starting position (default: 1)--fuel <KG> - Starting fuel in kg (default: 110.0)--json - Output as JSONExample:
f1-nexus optimize --track silverstone --laps 52 --compounds C1,C2,C3 --position 5
simulateRun Monte Carlo race simulation.
f1-nexus simulate [OPTIONS]
Options:
--track <TRACK> - Circuit name--laps <N> - Total race laps--iterations <N> - Number of simulations (default: 10000)--strategy <FILE> - Load strategy from JSON file--json - Output as JSONExample:
f1-nexus simulate --track monaco --laps 78 --iterations 50000 --json > results.json
circuitsList all supported F1 circuits.
f1-nexus circuits
compoundsList all tire compound types.
f1-nexus compounds
Use --json flag for machine-readable output:
f1-nexus optimize --track monaco --laps 78 --json | jq
{
"strategyId": "opt-monaco-1734389234",
"track": "monaco",
"totalLaps": 78,
"startingCompound": "C3",
"pitStops": [
{
"lap": 28,
"compound": "C2",
"pitLoss": 22.0,
"reason": "Optimal",
"confidence": 0.89
}
],
"predictedRaceTime": 6847.2,
"confidence": 0.875
}
#!/bin/bash
# Optimize for all circuits
for circuit in monaco silverstone spa monza; do
echo "Optimizing for $circuit..."
f1-nexus optimize --track $circuit --laps 70 --json > "strategy-$circuit.json"
done
# Export to CSV
f1-nexus simulate --track spa --iterations 10000 --json | \
jq -r '.simulations[] | [.finishTime, .position] | @csv' > results.csv
# Compare strategies
f1-nexus optimize --track monaco --json | jq '.predictedRaceTime'
Set environment variables:
export F1_NEXUS_LOG=debug # Enable debug logging
export F1_NEXUS_THREADS=8 # Set thread count
export F1_NEXUS_CACHE=/tmp/f1 # Set cache directory
Licensed under either of Apache License, Version 2.0 or MIT license at your option.