Thank you for your interest in contributing to NTNT! This document provides guidelines for contributing to the project.
By participating in this project, you agree to abide by our Code of Conduct.
- Check existing issues to avoid duplicates
- Use a clear, descriptive title
- Describe the steps to reproduce the issue
- Include your environment (OS, Rust version, NTNT version)
- Provide example
.tntcode if applicable
- Open an issue with the
enhancementlabel - Explain the use case and why it would be valuable
- Consider how it fits with NTNT's goals (agent-native development, Intent-Driven Development)
- Fix typos, clarify explanations, add examples
- Help improve the AI Agent Guide with common patterns
- Add examples to the
examples/directory
- Fork the repository and create a branch from
main - Make your changes with clear, focused commits
- Add tests if applicable
- Run the test suite:
cargo test - Run the linter:
cargo clippy - Submit a pull request
# Clone your fork
git clone https://github.com/YOUR_USERNAME/ntnt.git
cd ntnt
# Build (faster dev builds)
cargo build --profile dev-release
# Run tests
cargo test
# Run a .tnt file
cargo run -- run examples/hello.tnt
# Install locally for testing
cargo install --path . --profile dev-release --lockedntnt/
├── src/ # Rust source code
│ ├── main.rs # CLI entry point
│ ├── lexer.rs # Tokenizer
│ ├── parser.rs # Parser
│ ├── interpreter.rs # Runtime
│ ├── intent.rs # Intent-Driven Development
│ └── stdlib/ # Standard library implementations
├── examples/ # Example .tnt programs
├── docs/ # Documentation
└── tests/ # Integration tests
- Follow existing code style (run
cargo fmt) - Add doc comments for public functions
- Keep functions focused and reasonably sized
- Prefer clarity over cleverness
- Use present tense ("Add feature" not "Added feature")
- Keep the first line under 72 characters
- Reference issues when relevant (
Fixes #123)
- Update documentation if needed
- Ensure all tests pass
- Request review from maintainers
- Address feedback promptly
- Open a GitHub issue for questions about contributing
- Check existing issues and discussions for answers
Thank you for helping make NTNT better!