Technical Setup
Complete technical setup guide for the Noesis AI Tutor Framework development environment
π οΈ Technical Setup Guide
This guide provides detailed instructions for setting up the Noesis AI Tutor Framework locally for development and testing.
π Prerequisites
Required Software
- Ruby (version 3.0 or higher)
- Bundler (Ruby gem manager)
- Git (version control)
- Node.js (version 16 or higher) - for JavaScript tooling
- Text Editor - VS Code, Sublime Text, or similar
System Requirements
- Operating System: macOS, Linux, or Windows with WSL2
- RAM: Minimum 4GB, recommended 8GB+
- Storage: At least 2GB free space
- Network: Internet connection for gem installation
π Quick Start
1. Clone the Repository
git clone https://github.com/bweez/noesis-ai-tutor.git
cd noesis-ai-tutor
2. Install Dependencies
# Install Ruby dependencies
cd noesis-docs
bundle install
# Install Node.js dependencies (if using testing framework)
cd ../testing
npm install
3. Start Development Server
# From the noesis-docs directory
bundle exec jekyll serve --port 4000
Visit http://localhost:4000 to view your local site.
π§ Development Environment Setup
Ruby Environment
The framework uses Jekyll, which requires Ruby. We recommend using a Ruby version manager:
macOS/Linux:
# Install rbenv
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
# Install Ruby 3.0+
rbenv install 3.0.0
rbenv global 3.0.0
Windows: Use RubyInstaller or Windows Subsystem for Linux (WSL2).
Jekyll Setup
# Install Jekyll and Bundler
gem install jekyll bundler
# Navigate to docs directory
cd noesis-docs
# Install project dependencies
bundle install
π§ͺ Testing Framework
The project includes a comprehensive testing framework built with Cypress and Cucumber:
# Navigate to testing directory
cd testing
# Install dependencies
npm install
# Run tests
npm test
# Open Cypress GUI for development
npm run test:open
π Project Structure
noesis-ai-tutor/
βββ noesis-docs/ # Jekyll documentation site
β βββ src/ # Source files
β βββ _site/ # Generated site
β βββ Gemfile # Ruby dependencies
βββ testing/ # Test suite
β βββ cypress/ # Cypress tests
β βββ package.json # Node.js dependencies
βββ platform/ # Platform tools
βββ cli/ # Command-line tools
βββ assessment-tools/ # Assessment utilities
π¨ Development Workflow
Making Changes
- Content Changes: Edit files in
noesis-docs/src/
- Test Changes: Jekyll automatically rebuilds on file changes
- Test Your Changes: Run the test suite with
npm test
Development Process
- Start with documentation: Browse existing subjects and questions
- Identify improvement areas: Look for gaps in content or functionality
- Make small changes: Start with documentation fixes or content additions
- Test thoroughly: Ensure your changes donβt break existing functionality
- Submit pull request: Follow our contribution guidelines
Getting Started Steps
- Fork and clone the repository
- Set up your environment following the installation instructions above
- Run the local development server to see your changes in real-time
- Browse the codebase to understand the project structure
- Pick your first contribution from our beginner-friendly issues
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests to ensure everything works
- Submit a pull request
Beginner-Friendly Tasks
New contributors can start with these easy tasks:
- Documentation improvements: Fix typos, clarify instructions, add examples
- Content creation: Add new questions, subjects, or learning objectives
- Testing: Help expand our test coverage or fix failing tests
- Good first issues: Check our GitHub issues labeled
good-first-issue
- UI improvements: Enhance styling, accessibility, or user experience
π Troubleshooting
Common Issues
Jekyll wonβt start:
- Check Ruby version:
ruby --version
- Reinstall dependencies:
bundle install
- Clear Jekyll cache:
bundle exec jekyll clean
Tests fail:
- Ensure Jekyll server is running on port 4000
- Check Node.js version:
node --version
- Reinstall test dependencies:
npm clean-install
Permission errors:
- Use a Ruby version manager instead of system Ruby
- Check file permissions on project directory
Getting Help
- Check our Contributing Guidelines
- Open an issue on GitHub
- Review existing documentation in the
/framework/
section
π Next Steps
Once your environment is set up:
- Explore the Framework: Browse existing subjects and questions
- Run Tests: Familiarize yourself with the test suite
- Make a Contribution: Start with documentation or small improvements
- Create Content: Add new subjects, questions, or assessment tools
Happy coding! π