dkdc-config 0.1.0

Configuration management for dkdc (don't know, don't care)
Documentation
# dkdc-config

Configuration management for dkdc (don't know, don't care).

## Overview

This crate provides centralized configuration management for all dkdc components. It handles:

- Path management for dkdc directories
- Configuration constants
- Platform-specific path handling

## Usage

```rust
use dkdc_config::Config;

// Create config with default paths ($HOME/.dkdc)
let config = Config::new()?;

// Get various paths
let lake_dir = config.lake_dir();           // ~/.dkdc/dkdclake
let metadata = config.metadata_path();      // ~/.dkdc/dkdclake/metadata.db
let data = config.data_path();              // ~/.dkdc/dkdclake/data
let python = config.python_path();          // ~/.dkdc/venv/bin/python

// Ensure directories exist
config.ensure_directories()?;
config.ensure_metadata_db()?;
```

## Directory Structure

```
~/.dkdc/
├── dkdclake/
│   ├── metadata.db     # SQLite metadata database
│   └── data/           # DuckLake encrypted data files
├── venv/               # Python virtual environment
└── config.toml         # User configuration (future)
```

## Constants

The crate exports several important constants:

- Table names: `SECRETS_TABLE_NAME`, `FILES_TABLE_NAME`, `ARCHIVES_TABLE_NAME`
- Extensions: `DUCKLAKE_EXTENSION`, `SQLITE_EXTENSION`
- UI colors: `Colors::PRIMARY`, `Colors::SECONDARY`, etc.
- ASCII banner: `DKDC_BANNER`

## Platform Support

- Cross-platform path handling (Unix/Windows)
- Automatic Python executable path resolution
- Home directory detection via `HOME` or `USERPROFILE`

## Dependencies

Minimal dependencies:
- `anyhow`: Error handling
- `toml`: Configuration file parsing (future)