dash-lang 0.1.0

A simple interpreted language
## ๐Ÿ“„ CONTRIBUTING.md

# ๐Ÿค Contributing to Dash

Thanks for your interest in contributing to Dash โ€” a lightweight interpreted language written in Rust!

---

## ๐Ÿงฐ Getting Started

1. Fork the repository
2. Clone your fork:
   ```bash
   git clone https://github.com/Pjdur/dash-lang.git
   cd dash-lang
   ```
3. Build and run:
   ```bash
   cargo run -- examples/hello.dash
   ```

---

## ๐Ÿ›  What You Can Work On

- ๐Ÿง  Language features: booleans, arrays, logical operators
- ๐Ÿงช Tests: unit tests for parser and interpreter
- ๐Ÿ–ฅ๏ธ CLI: REPL mode, help/version flags
- ๐Ÿ“š Docs: grammar guide, usage examples
- ๐Ÿงน Refactoring: modularization, error handling

---

## ๐Ÿ“ฆ Project Structure

```
src/
โ”œโ”€โ”€ main.rs       # CLI entry point
โ”œโ”€โ”€ parser.rs     # AST construction and grammar
โ”œโ”€โ”€ eval.rs       # Expression and statement execution
โ”œโ”€โ”€ ast.rs        # Core data types
examples/
โ”œโ”€โ”€ hello.dash    # Sample programs
dash.pest     # Grammar definition
```

---

## โœ… Code Style

- Use Rust 2021 edition
- Format with `cargo fmt`
- Run `cargo clippy` before submitting

---

## ๐Ÿงช Testing

To run tests:

```bash
cargo test
```

To add a test, create a file in `tests/` or use inline unit tests in modules.

---

## ๐Ÿ“ฌ Submitting a Pull Request

1. Create a new branch:
   ```bash
   git checkout -b feature/my-feature
   ```
2. Commit your changes:
   ```bash
   git commit -m "Add feature X"
   ```
3. Push and open a PR on GitHub

---

## ๐Ÿ’ฌ Questions or Ideas?

Open an issue or start a discussion. We welcome feedback, suggestions, and creative ideas!

---

Thanks for helping make Dash better!