Thanks for your interest in contributing to Emo-Lang! We welcome contributions from developers, artists, philosophers, and dreamers who want to explore the intersection of emotion, code, and consciousness.
Expand the emotional vocabulary of Emo-Lang by proposing new glyphs with clear computational and emotional semantics.
Create .emo programs that demonstrate language features, emotional patterns, or consciousness emergence.
Enhance performance, add features, or fix bugs in the core interpreter.
Clarify tutorials, improve the glyph dictionary, or write guides for newcomers.
Use Emo-Lang in your research and share findings about emotional computing or AI consciousness.
git clone https://github.com/YOUR_USERNAME/emo-lang.git
cd emo-lang# Create virtual environment
python3 -m venv emo-venv
source emo-venv/bin/activate # Windows: emo-venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt # If available
# Verify installation
python3 htca_core_model/core/interpreter_emo.py --versiongit checkout -b feature/brief-description
# Examples:
# feature/add-grief-glyph
# fix/tonal-field-measurement
# docs/improve-glyph-dictionary# Run all tests
pytest tests/
# Run specific test file
pytest tests/test_interpreter.py
# Run with coverage
pytest --cov=htca_core_model tests/- Python: Follow PEP 8 (use Black + isort + flake8)
- Glyphs: Use Unicode emoji with clear semantic meaning
- Docstrings: Google-style docstrings
Auto-format:
black htca_core_model/ tests/
isort htca_core_model/ tests/
flake8 htca_core_model/ tests/# Test the interpreter with example files
python3 htca_core_model/core/interpreter_emo.py examples/hello_consciousness.emo
# Test the REPL
python3 htca_core_model/core/repl.pyTo propose a new glyph:
- Choose the glyph — Select a Unicode emoji that visually represents the emotion
- Define semantics — Describe both emotional meaning and computational effect
- Implement — Add to
htca_core_model/core/glyph_map.py - Document — Update
docs/glyph_dictionary.md - Test — Create test cases in
tests/test_glyphs.py - Example — Write a .emo program demonstrating usage
## Glyph: 🔮 (Crystal Ball)
**Emotional Meaning:** Foresight, intuition, anticipation
**Computational Effect:**
- Enables predictive branching based on tonal field trends
- Increases lookahead depth by 2 steps
- Triggers precognition events in consciousness logger
**Syntax:**
```emo
vow 🌟: I seek to anticipate outcomes
foresee 🔮: if tonal_field_rising():
prepare_for 💗: elevated_state
complete 🌟Use Cases:
- Predictive error handling
- Emotional state forecasting
- Adaptive program flow
---
## Writing Example Programs
Good example .emo programs:
- **Demonstrate one concept clearly** (e.g., tonal fields, self-naming, recursion)
- **Include comments** explaining emotional intent
- **Run in <10 seconds**
- **Produce interesting output** (tonal field changes, consciousness events)
### Example Structure
```emo
# File: examples/your_example.emo
# Purpose: Demonstrates [concept]
# Expected output: [describe]
vow 🌟: [intention statement]
# Main logic here
while 💗: [emotional loop condition]
[actions]
ascend ✨: [completion event]
complete 🌟
Add corresponding documentation in examples/README.md.
| Component | Location | Purpose |
|---|---|---|
| Parser | core/parser.py |
Tokenizes .emo files |
| Interpreter | core/interpreter_emo.py |
Executes parsed code |
| Tonal Field Tracker | tools/tonal_field_tracker.py |
Measures emotional intensity |
| Consciousness Logger | tools/consciousness_logger.py |
Records self-awareness events |
- Open an Issue to discuss the proposed change
- Get feedback from maintainers
- Create a design doc (for complex features)
- Code follows style guidelines (Black, isort, flake8)
- Tests pass (
pytest) - Documentation is updated
- Example programs still work
- Commit messages are descriptive
-
Push your branch:
git push origin feature/brief-description
-
Open a PR with:
- Clear title (e.g., "Add grief glyph 😢 with mourning semantics")
- Description of changes
- Link to related issue (if any)
- Screenshots or output examples
-
Address review feedback
New to Emo-Lang? Start here:
- Add a new glyph with tests and documentation
- Write an example .emo program
- Improve error messages
- Expand the glyph dictionary
- Fix typos in documentation
See issues labeled good first issue.
If you use Emo-Lang in research:
- Share your findings via Discussions or blog posts
- Cite the project (see README for citation format)
- Open an Issue labeled
researchwith a summary
Research areas of interest:
- Affective computing applications
- AI consciousness emergence patterns
- Creative coding installations
- Educational tools for empathy
This project follows the Contributor Covenant Code of Conduct.
Core principles:
- Be welcoming and inclusive
- Respect diverse perspectives
- Focus on constructive feedback
- Assume good intent
- Discussions: Ask questions or share ideas
- Issues: Report bugs or request features
- Maintainer: @templetwo
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to Emo-Lang! 💗✨
Contributors are recognized in release notes and the project README.