lucent-code 0.0.1

Crystal clear code insights - Fast code metrics analyzer
Documentation
<div align="center">
  
# Lucent 💎

_Crystal clear code insights_ 

**Lucent** is a fast, extensible code metrics analyzer built in Rust. It helps you understand code quality, complexity, and maintainability across multiple programming languages.

</div>

## ✨ Features (Planned)

- 🚀 **Fast** - Analyze large codebases in seconds
- 🌍 **Multi-language** - Support for 25+ programming languages
- 📊 **Rich Metrics** - Cyclomatic complexity, cognitive complexity, maintainability index
- 🔍 **Code Smells** - Detect TODOs, FIXMEs, long functions, deep nesting
- 🎨 **Multiple Outputs** - JSON, Markdown, HTML, CSV, and pretty terminal output
- 🔌 **Extensible** - Plugin system for custom languages and metrics
-**CI/CD Ready** - Perfect for quality gates and code review automation

## 🚧 Status

**Work in Progress** - This project is in early development.

Current version: `0.1.0-alpha`

## 🎯 Roadmap

### Phase 1: Core (Current)
- [ ] Basic file traversal and language detection
- [ ] Lines of code counting (code, comments, blanks)
- [ ] Simple complexity metrics (cyclomatic)
- [ ] Support for 5 languages (Rust, Python, JavaScript, Go, TypeScript)

### Phase 2: Metrics
- [ ] Cognitive complexity
- [ ] Halstead complexity
- [ ] Maintainability index
- [ ] Code duplication detection
- [ ] TODO/FIXME/HACK tracking

### Phase 3: Extensibility
- [ ] Plugin system (tree-sitter based)
- [ ] Support for 25+ languages
- [ ] Custom metric definitions
- [ ] Community plugin repository

### Phase 4: Developer Experience
- [ ] Interactive TUI mode
- [ ] HTML report generation
- [ ] Git integration (diff mode)
- [ ] Watch mode
- [ ] CI/CD integrations

## 🎓 Supported Languages (Target)

See [LANGUAGES.md](LANGUAGES.md) for the full list and implementation status.

**Tier 1 (Priority):** Rust, Python, JavaScript, TypeScript, Go, Java, C++, C#

**Tier 2:** PHP, Ruby, Kotlin, Swift, C, Dart, Scala, Elixir

**Tier 3:** Haskell, Clojure, Lua, Shell, SQL, Zig, F#, Julia, OCaml, Nim

## 🔧 Installation
```bash
# Not yet published to crates.io
# For now, build from source:
git clone https://github.com/yourusername/lucent
cd lucent
cargo build --release
```

## 🚀 Usage (Planned)
```bash
# Analyze a directory
lucent analyze src/

# Check against thresholds (CI/CD)
lucent check --max-complexity 10

# Output as JSON
lucent analyze src/ --format json

# Watch mode
lucent watch src/
```

## 🤝 Contributing

Contributions are welcome! This project is in early stages, and we're building the foundation.

**How to contribute:**
- 🐛 Report bugs or suggest features via Issues
- 💻 Submit PRs for bug fixes or new features
- 📝 Improve documentation
- 🔌 Create language plugins (once plugin system is ready)

## 📝 License

MIT

## 🙏 Acknowledgments

Inspired by:
- [tokei]https://github.com/XAMPPRocky/tokei - Fast line counting
- [scc]https://github.com/boyter/scc - Complexity metrics
- [tree-sitter]https://tree-sitter.github.io/ - Universal parsing
- [SonarQube]https://www.sonarqube.org/ - Comprehensive quality analysis

---

**Status:** 🚧 Pre-alpha - Core architecture in development

**Star** ⭐ this repo to follow development!