Skip to content
This repository was archived by the owner on Sep 18, 2024. It is now read-only.

Commit

Permalink
chore: checkout
Browse files Browse the repository at this point in the history
  • Loading branch information
tobySolutions committed May 11, 2024
2 parents 12e3405 + b42c9e1 commit 6ed1321
Show file tree
Hide file tree
Showing 167 changed files with 5,283 additions and 150 deletions.
55 changes: 55 additions & 0 deletions .github/ISSUE_TEMPLATE/issues_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@

# Akeru.ai Issues Standard Template

**Title**: [Clear, concise title describing the issue]

**Description**:
Detail the problem or enhancement proposed. Explain the background and why it's important to address this issue.

**Objectives**:

- List specific goals or outcomes expected from resolving this issue.
- Detail the sections of the project affected and suggest possible solutions if applicable.

**Expected Outcomes**:

- Describe what a successful resolution will look like.
- Mention how it will improve the project (e.g., enhanced usability, reduced errors).

**Tags**:

- Include relevant tags to help categorize the issue (e.g., documentation, enhancement, bug).

**Assignees**:

- Tag potential contributors who might be best suited to tackle this issue.

**Example**:

## Title: Enhance README Documentation for Akeru.ai

### Description

The README file is the first point of interaction for potential users and contributors to Akeru.ai. As the project grows and incorporates more features, it's crucial that the README accurately reflects the capabilities and mission of Akeru.ai, providing clear and engaging content that facilitates understanding and involvement.

### Objectives

- **Expand Introduction**: Clearly define what Akeru.ai does, the problems it solves, and how it's distinct from other AI platforms.
- **Detail API Features**: Include descriptions of current and upcoming features, expected use cases, and any associated limitations or costs.
- **Clarify Bittensor Subnet Integration**: Explain how the subnet supports the platform, including any security features and the advantages of decentralization.
- **Update Self-Hosting and Validation Sections**: Provide preliminary guidelines and expectations for users interested in self-hosting or participating as validators/miners.
- **Visual Enhancements**: Propose the creation of diagrams and workflows to help visually explain complex concepts.

### Expected Outcomes

- A comprehensive, well-structured README that serves as an effective entry point for engaging new users and contributors.
- Enhanced clarity on technical aspects and project roadmap, facilitating easier onboarding and collaboration.

### Tags

- `documentation`, `enhancement`

### Assignees

- @username (Documentation Lead)
- @username2 (Technical Reviewer)
32 changes: 0 additions & 32 deletions .github/PULL_REQUEST_TEMPLATE.md

This file was deleted.

51 changes: 51 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Akeru.ai Pull Request Standard Template

**Title**: [Descriptive title reflecting the main change]

**Description**:
Briefly describe the purpose of the pull request and what it aims to achieve. Include key changes made, such as feature additions, bug fixes, or enhancements.

**Key Changes**:

- List significant changes and their impact on the project.
- Mention any particular areas of the codebase affected.

**Link to Issues**:

- Reference related issue numbers that this pull request addresses.

**Request for Review**:

- Tag reviewers who are familiar with the impacted areas of the codebase.

## Checklist

- [ ] I have written tests
- [ ] My code does not produce new errors
- [ ] I gave myself a code review before asking others.

## An Example

## Title: Update README for Enhanced Project Clarity and Information

### Description

This pull request updates the README to provide a clearer and more comprehensive understanding of Akeru.ai. The enhancements include detailed descriptions of new API features, the Bittensor Subnet integration, and improved section formatting. These updates aim to make the repository more welcoming and informative for new contributors and users.

### Key Changes

- **Expanded Introduction**: Better explains Akeru.ai's unique features and its differentiation in the AI space.
- **Detailed API Features**: Includes use cases and development status for upcoming features.
- **Clarified Bittensor Subnet Integration**: Details on how the Bittensor Subnet enhances Akeru.ai’s capabilities, including security features and decentralized benefits.
- **Preliminary Self-Hosting Info**: Provides initial guidelines on self-hosting and the requirements for validators and miners.

### Link to Issues

- Addresses feedback from issue #[issue_number] for more detailed documentation.

### Request for Review

- @username1
- @username2

Looking forward to your feedback and suggestions to further refine our project documentation.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -180,4 +180,5 @@ dist
.env.development
.env.test

.DS_Store
.DS_Store
package-lock.json
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ We welcome contributions of all forms, from code to documentation. Here’s how

- **Get Involved**: Check out our issues tab on GitHub.
- **Submit Pull Requests**: Contributions are reviewed regularly—ensure your code adheres to our standards.
- **See full Contributing guide [here](#).**
- **See full Contributing guide [here](./CONTRIBUTING.md).**

## Visuals and Diagrams

Expand Down
Binary file modified bun.lockb
Binary file not shown.
135 changes: 135 additions & 0 deletions docs/code_of_conduct.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@

# Akeru.ai Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the [Akeru.ai](https://www.akeru.ai) community in public spaces.
Examples of representing our community include using an official email address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at [email protected].

**All complaints will be reviewed and investigated promptly and fairly.**

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series of
actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within the
community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].

Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].

For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ].

Translations are available at
[https://www.contributor-covenant.org/translations][translations].

[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
77 changes: 77 additions & 0 deletions docs/coding_conventions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Akeru.ai Coding Conventions

## Introduction

This document outlines the coding standards and best practices for the Akeru.ai project. Adhering to these conventions is essential to maintain code quality, facilitate collaboration, and ensure the project is scalable and maintainable.

## Table of Contents

- [General Principles](#general-principles)
- [Language-Specific Standards](#language-specific-standards)
- [Formatting and Style](#formatting-and-style)
- [Commenting and Documentation](#commenting-and-documentation)
- [Error Handling](#error-handling)
- [Security Practices](#security-practices)
- [Performance Optimization](#performance-optimization)
- [Version Control Practices](#version-control-practices)
- [Testing Standards](#testing-standards)
- [Build and Deployment](#build-and-deployment)

## General Principles

- **Readability and Clarity**: Code should be written as if the next person to read it is a serial killer who knows where you live. Prioritize clarity.
- **Maintainability**: Write code that is easy to maintain and extend. Any developer should be able to understand your code and make changes when necessary.
- **DRY Principle**: Don't Repeat Yourself. Ensure that you don't have duplicate code scattered throughout the codebase.

## Language-Specific Standards

### JavaScript/TypeScript

- Use [ESLint with a configuration based on Next.js](https://nextjs.org/docs/pages/building-your-application/configuring/eslint) standards.
- Follow [TypeScript strict typing](https://www.typescriptlang.org/tsconfig#strict) as much as possible for type safety.

### Python (if applicable)

- Follow [PEP 8 standards](https://peps.python.org/pep-0008/) for Python code.
- Use type hints for better maintainability.

## Formatting and Style

- **Indentation**: Use spaces (not tabs) and set the width to 2 or 4 spaces per indent level, depending on the language.
- **Braces**: Use the "1TBS (One True Brace Style)" where braces open on the same line as the statement but close on a new line.
- **Variable Naming**: Use `camelCase` for identifiers in JavaScript and `snake_case` for Python variables.

## Commenting and Documentation

- **Code Comments**: Write comments that explain "why" something is done, not "what" is done. The code itself should explain "what."
- **Documentation**: Use [JSDoc](https://jsdoc.app/) for JavaScript and [Docstrings](https://peps.python.org/pep-0257/) for Python. Document all public APIs and critical internal mechanisms.

## Error Handling

- **Consistency**: Use a consistent method across the entire codebase to handle errors. In Node.js, use asynchronous error handling with promises and async/await.
- **Logging**: Implement comprehensive logging for errors. Use a library that supports different log levels (e.g., debug, info, error).

## Security Practices

- **Input Validation**: Always validate external inputs to avoid [SQL injections](https://www.simplilearn.com/tutorials/cyber-security-tutorial/what-is-sql-injection) and other malicious attacks.
- **Dependency Management**: Regularly update dependencies to mitigate vulnerabilities, using tools like [Dependabot](https://docs.github.com/en/code-security/getting-started/dependabot-quickstart-guide).

## Performance Optimization

- **Best Practices**: Follow language-specific performance optimization techniques, such as optimizing loops and asynchronous programming in JavaScript.
- **Profiling**: Regularly profile the application and optimize bottlenecks.

## Version Control Practices

- **Branching**: Follow a branching model like [Git Flow](https://github.com/nvie/gitflow) to manage features, fixes, and releases.
- **Commit Messages**: Write clear, concise commit messages that explain the why and what of the changes.

## Testing Standards

- **Coverage**: Aim for a high test coverage percentage. Use tools like [Istanbul](https://istanbul.js.org/) for JavaScript to check coverage.
- **Frameworks**: Use [Jest](https://jestjs.io/) for JavaScript testing. Ensure tests are thorough and cover expected and unexpected use cases.

## Build and Deployment

- **Automated Builds**: Use CI/CD pipelines to automate builds and deployments. Tools like [Jenkins](https://www.jenkins.io/) or [GitHub Actions](https://docs.github.com/en/actions) can be integrated to manage these processes.
- **Environment Specifics**: Ensure configurations such as API keys and endpoints are environment-specific and secured.
Loading

0 comments on commit 6ed1321

Please sign in to comment.