Files
log_ingest/CLAUDE.md
Alexandr Mansurov 30cc4fae01 Add log ingestion tool for loading signature logs into SQLite
- Parse signature messages from log files extracting app info, device
  details, and feature flags (autofill, touchID, offline login, etc.)
- Support both plain .log and gzip compressed .log.gz files
- File discovery by date range (YYYY/mm/dd directory structure)
- Batch inserts for performance with large files (10GB+ per day)
- Index on session_id and version for efficient queries
- Extensible parser architecture via MessageParser trait

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 22:34:48 +01:00

1.6 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Commands

Build & Run

# Build
cargo build

# Release build
cargo build --release

# Run (example)
cargo run -- --name "World"

Testing

# Run all tests
cargo test

# Fast test execution with cargo-nextest (recommended)
cargo nextest run

# Run a single test
cargo test test_name

# Generate coverage (requires cargo-llvm-cov)
cargo llvm-cov nextest --lcov --output-path lcov.info

Quality Checks

# Format check
cargo fmt -- --check

# Apply formatting
cargo fmt

# Static analysis with Clippy
cargo clippy

Benchmarks

# Requires nightly toolchain
cargo +nightly bench

Architecture

Project Structure

  • cargo-generate template: This repository is a template for generating new Rust CLI projects
  • CLI parser: Uses clap v4 derive macros for command-line argument processing
  • Benchmarks: Located in benches/ directory, uses nightly compiler's test crate

CI/CD Configuration

  • ci.yaml: Main CI workflow
    • Runs formatting, Clippy, build, and tests
    • Generates coverage on Linux with octocov reporting
    • Automatic PR feedback via reviewdog
  • benchmark.yaml: Auto-deploys benchmark results to GitHub Pages
  • audit.yaml: Security audit for dependencies
  • release.yaml: Automated release on tag push (cross-platform builds via GoReleaser)

Key Settings

  • Rust version: Fixed to 1.87 in rust-toolchain.toml
  • Edition: Uses Rust 2024 edition
  • Test tools: cargo-nextest and cargo-llvm-cov recommended