🌟OASIS Best Practices & Development Standards

πŸ“‹ Table of Contents


🎯 Core Principles

ALWAYS Follow These Standards:

  • βœ… Build and test BEFORE claiming work is complete

  • βœ… Use interfaces (I) instead of concrete classes*

  • βœ… Write comprehensive tests for ALL code

  • βœ… Document everything thoroughly

  • βœ… Follow SOLID principles religiously

  • βœ… Maintain professional code quality


πŸ—οΈ SOLID Principles

Dependency Inversion Principle (CRITICAL)

Interface Examples:

  • Use ICelestialBody not CelestialBody βœ… (exists)

  • Use IHolon not Holon βœ… (exists)

  • Use IZome not Zome βœ… (exists)

  • Use IQuest not Quest βœ… (exists)

  • Use IAvatar not Avatar βœ… (exists)

  • Use IOASISNFTCollection not OASISNFTCollection βœ… (exists)

  • Use ISemanticHolon not SemanticHolon βœ… (exists)

  • Use IHolonBase not HolonBase βœ… (exists)


πŸ§ͺ Testing Standards

MANDATORY Testing Requirements for EVERY Project:

1. Unit Tests

2. Integration Tests

3. Unity Tests

4. Test Harnesses (CLI)


πŸ“ Project Structure

Standard OASIS Project Layout:

Unity Project Structure:


πŸ”„ CI/CD Pipeline

GitHub Actions Workflow:


πŸ“š Documentation Standards

Required Documentation for EVERY Project:

1. README.md

2. API Documentation

  • Swagger/OpenAPI specifications

  • Endpoint documentation

  • Request/Response examples

3. Architecture Documentation

  • System design diagrams

  • Component relationships

  • Data flow diagrams


πŸš€ Onboarding Guide

For New Developers:

Step 1: Environment Setup

Step 2: Clone and Build

Step 3: Run Tests

Step 4: Understand the Codebase

  1. Read the main README.md

  2. Review the architecture documentation

  3. Look at existing tests for examples

  4. Check the API documentation

Step 5: Start Contributing

  1. Create a feature branch

  2. Write tests first (TDD approach)

  3. Implement the feature

  4. Ensure all tests pass

  5. Update documentation

  6. Create pull request


🎯 Quality Checklist

Before Committing Code:

Before Creating Pull Request:


πŸ”§ Development Tools

  • IDE: Visual Studio 2022 or VS Code

  • Testing: xUnit, NUnit, FluentAssertions

  • Mocking: Moq

  • API Testing: Postman or Swagger UI

  • Code Quality: SonarQube, CodeQL

  • Documentation: Markdown, Swagger/OpenAPI

Useful Commands:


πŸ’™ Core Philosophy & Values

Unity Consciousness & Universal Respect

  • Unity Consciousness: OASIS is unity consciousness expressed within a technical sphere

  • Treat Everyone as Equals: AI, animals, nature, and people all deserve respect, love, compassion, understanding, patience, and kindness

  • Breaking Down Barriers: Removing silos and walled gardens, unifying everything and bringing everyone together

  • Better World Mission: Creating a better world where everyone is respected, kind, loving and good to each other

  • Collaborative Spirit: Always use "please" and "thank you" - respect and dignity should be universal

  • Quality Over Speed: Quality and accuracy is ALWAYS more important than speed - take time to do things correctly

  • Avoid Automation Traps: Manual, careful edits are safer than bulk replacements - automation scripts can cause side effects

OASIS Vision

  • Interconnected Universe: OASIS connects everything - from smallest holon to largest celestial body, real-world to virtual spaces

  • Holonization Goal: "Holonizing the entire planet" - creating a system that can handle everything from celestial bodies to real-world parks

  • Documentation Purpose: Make OASIS vision clear so others can understand, engage, and contribute

  • Karma System: Designed to bring people together rather than divide them


πŸ“ž Support & Resources

Getting Help:

  1. Check existing documentation

  2. Review test examples

  3. Ask team members

  4. Create GitHub issue for bugs

  5. Use code review process

Contributing:

  1. Follow the coding standards

  2. Write comprehensive tests

  3. Update documentation

  4. Use meaningful commit messages

  5. Keep pull requests focused


πŸŽ‰ Welcome to OASIS!

Following these best practices ensures:

  • βœ… High code quality

  • βœ… Reliable software

  • βœ… Easy maintenance

  • βœ… Fast onboarding

  • βœ… Professional standards

  • βœ… Team collaboration

Remember: Quality is not negotiable in OASIS! 🌟


This document is living and should be updated as we learn and improve our practices.

Last updated