Skip to content

Commit 353177f

Browse files
authored
Merge pull request #31 from calebephrem/main
refactor!: migrate project to typescript and clean up code
2 parents 9e26e0d + 8686188 commit 353177f

82 files changed

Lines changed: 958 additions & 5476 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/linter.yaml

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,34 +27,19 @@ jobs:
2727
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2828
DEFAULT_BRANCH: main
2929
VALIDATE_ALL_CODEBASE: false
30-
VALIDATE_PYTHON_PYLINT: true
31-
VALIDATE_PYTHON_RUFF: true
3230
VALIDATE_JAVASCRIPT_ES: true
3331
VALIDATE_TYPESCRIPT_STANDARD: true
34-
VALIDATE_GO: true
35-
VALIDATE_GO_MODULES: true
36-
VALIDATE_RUST_CLIPPY: true
37-
VALIDATE_JAVA: true
38-
VALIDATE_KOTLIN: true
39-
VALIDATE_BASH: true
4032
VALIDATE_JSON: true
4133
VALIDATE_YAML: true
4234
VALIDATE_XML: true
4335
VALIDATE_ENV: true
4436
VALIDATE_DOCKERFILE_HADOLINT: true
45-
VALIDATE_TERRAFORM_TFLINT: true
46-
VALIDATE_KUBERNETES_KUBECONFORM: true
47-
VALIDATE_ANSIBLE: true
4837
VALIDATE_GITHUB_ACTIONS: true
4938
VALIDATE_GIT_MERGE_CONFLICT_MARKERS: true
50-
VALIDATE_CSS_PRETTIER: true
5139
VALIDATE_GRAPHQL_PRETTIER: true
52-
VALIDATE_HTML_PRETTIER: true
5340
VALIDATE_JAVASCRIPT_PRETTIER: true
5441
VALIDATE_JSON_PRETTIER: true
5542
VALIDATE_JSONC_PRETTIER: true
56-
VALIDATE_JSX_PRETTIER: true
5743
VALIDATE_MARKDOWN_PRETTIER: true
5844
VALIDATE_TYPESCRIPT_PRETTIER: true
59-
VALIDATE_VUE_PRETTIER: true
6045
VALIDATE_YAML_PRETTIER: true

.gitignore

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
node_modules/
22
.env
3-
4-
# Persistent user stats
53
data/
6-
.npm/
4+
dist/

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33
"source.fixAll": "explicit",
44
"source.organizeImports": "explicit",
55
"source.sortMembers": "explicit"
6-
}
6+
},
7+
"cSpell.words": ["deepseek", "groq", "openrouter", "Qwen"]
78
}

CHANGELOG.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
# Change Log
22

3+
## `v2.0.0` - 29/06/2026
4+
5+
### Added
6+
7+
- Introduced model fallback system to improve reliability and resilience
8+
9+
### Changed
10+
11+
- Migrated entire codebase to TypeScript with Bun runtime
12+
- Reduced size of the base (system) prompt for better efficiency
13+
- Improved context handling for more consistent behavior
14+
- Restructured the project's file and folder organization for a cleaner, more maintainable codebase
15+
16+
### Removed
17+
18+
- Personas system
19+
- Stock cards feature
20+
- DevHub-related information/prompt
21+
22+
### Fixed
23+
24+
- Suppressed ping/mention behavior to prevent unintended user or role tagging
25+
326
## `v1.1.1` - 17/06/2026
427

528
### Changed
@@ -17,7 +40,7 @@
1740

1841
- Switched vision model to Groq
1942

20-
### Fixed
43+
### Removed
2144

2245
- Removed redundant `clearUserContext` calls
2346
- Removed large instruction block to reduce token usage

CONTRIBUTING.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# 🤝 Contributing to Pawgrammer Bot
1+
# 🤝 Contributing to Rael
22

3-
Thank you for considering contributing to **Pawgrammer Bot**!
3+
Thank you for considering contributing to **Rael**!
44
We welcome all kinds of contributions, whether it's fixing bugs, adding new features, improving documentation, or helping with community support.
55

66
## 📋 Contribution Guidelines
@@ -10,8 +10,8 @@ We welcome all kinds of contributions, whether it's fixing bugs, adding new feat
1010
- Fork the repository to your GitHub account.
1111
- Clone your fork locally:
1212
```bash
13-
git clone https://github.com/your-username/pawgrammerbot.git
14-
cd pawgrammerbot
13+
git clone https://github.com/your-username/rael.git
14+
cd rael
1515
```
1616

1717
### 2. Create a Branch
@@ -68,7 +68,7 @@ All contributors will be recognized in the project and may receive special roles
6868
By contributing to this project, you agree that:
6969

7070
- Your contributions will be licensed under the **DevHub Source-Available License (DSAL)**
71-
- DevHub may use, modify, and distribute your contributions as part of Pawgrammer Bot
72-
- You do not gain any ownership, commercial, or hosting rights to Pawgrammer Bot by contributing
71+
- DevHub may use, modify, and distribute your contributions as part of Rael
72+
- You do not gain any ownership, commercial, or hosting rights to Rael by contributing
7373

74-
_Thank you for taking time to contribute to Pawgrammer Bot ✨_
74+
_Thank you for taking time to contribute to Rael ✨_

README.md

Lines changed: 19 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<br />
22
<div align="center">
33

4-
<img src="./src/assets/icon.png" alt="Quantum Theme" width="200" height="200" />
4+
<img src="./assets/icon.png" alt="Rael" width="200" height="200" />
55

66
<p align="center" style="margin-top: 12px;">
77
<strong><small>CONVERSATION MEETS CAPABILITY</small></strong>
@@ -15,16 +15,18 @@ Rael is an AI-powered Discord bot built for natural conversation, multi-model fl
1515

1616
> [!NOTE]
1717
>
18-
> ## What's New in v1
18+
> ## What's New in v2
1919
>
20-
> Rael v1 builds on the alpha foundation with the following additions:
20+
> Rael v2 focuses on a leaner, faster, and more reliable experience with a complete internal overhaul.
2121
>
22-
> - Vision support, allowing Rael to read and understand image attachments
23-
> - Model switching, letting users choose which AI model handles their requests
24-
> - Web search, giving Rael access to up to date information beyond its training data
25-
> - Live stock graphs, available directly through chat
26-
> - Token usage tracking with a clean, visual breakdown instead of raw numbers
27-
> The core prefix system and persona functionality from the alpha release remain, refined for consistency.
22+
> - Migrated the entire project to **TypeScript** and **Bun** for improved performance and maintainability
23+
> - Introduced automatic **model fallbacks** to keep requests running even when a provider is unavailable
24+
> - Reworked the conversation context pipeline for more consistent responses
25+
> - Reduced the base system prompt to improve efficiency and lower token usage
26+
> - Restructured the project's file and folder organization for a cleaner, more maintainable codebase
27+
> - Removed personas and stock cards to simplify the overall experience
28+
> - Removed DevHub-specific prompt information, making Rael more general-purpose
29+
> - Added automatic ping suppression to prevent unintended user or role mentions
2830
2931
## Usage
3032

@@ -53,73 +55,31 @@ Example:
5355
```
5456
$help
5557
$ping
56-
$persona list
57-
$resetai
58+
$usage
5859
```
5960

60-
## Commands Overview
61-
62-
| Command | Aliases | Description |
63-
| --------- | ---------------------------------------- | -------------------------------------------- |
64-
| `ai` | `askai` | Sends a prompt to the AI model |
65-
| `persona` | `personaai`, `mode`, `character` | Manage or view AI personas |
66-
| `model` | `setmodel`, `models` | View or switch the active AI model |
67-
| `resetai` | `aiclear`, `clearai`, `aireset`, `reset` | Clears AI conversation context |
68-
| `stock` | `stocks`, `chart` | Displays a live stock graph |
69-
| `usage` | `tokens`, `tokenusage` | Displays token usage with a visual breakdown |
70-
| `help` | none | Displays available commands and usage |
71-
| `ping` | none | Returns bot latency |
72-
7361
## AI Command Usage
7462

75-
The AI system supports both prefixes:
63+
The AI system supports both prefixes and tagging:
7664

7765
```
7866
,what is event loop in Node.js?
7967
$ai what is event loop in Node.js?
68+
@Rael what is event loop in Node.js?
8069
```
8170

8271
To reset context:
8372

8473
```
74+
$resetctx
75+
or
8576
$resetai
8677
or
87-
$ai reset
78+
$clearctx
8879
```
8980

9081
Resetting clears conversation history and restores default behavior.
9182

92-
## Persona System
93-
94-
The persona system allows users to adjust the AI's behavior and response style.
95-
96-
Available subcommands:
97-
98-
- `$persona list`
99-
Displays all available personas.
100-
101-
- `$persona current` / `status` / `now` / `active`
102-
Shows the currently active persona.
103-
104-
- `$persona set <name>` / `use <name>` / `switch <name>`
105-
Switches to a selected persona.
106-
107-
- `$persona reset` / `clear`
108-
Restores the default persona and clears context.
109-
110-
## Model Switching
111-
112-
Rael supports multiple underlying AI models, allowing users to pick the one that best fits their needs, whether prioritizing speed or depth of response.
113-
114-
- `$model list`
115-
Displays all available models.
116-
117-
- `$model current`
118-
Shows the currently active model.
119-
120-
- `$model set <name>` / `use <name>`
121-
Switches to a selected model.
122-
12383
## Vision
12484

12585
Rael can read and understand images sent as attachments. Send an image along with a message and Rael will analyze the content and respond accordingly.
@@ -128,16 +88,12 @@ Rael can read and understand images sent as attachments. Send an image along wit
12888

12989
Rael can search the web when you ask it to do so, to provide up to date information when needed, rather than relying solely on its training data.
13090

131-
## Stock Graphs
132-
133-
Rael can pull up live stock charts directly in chat, just ask for it.
134-
13591
## Token Usage Tracking
13692

13793
Users can view their token usage at any time through a clean, image based visual breakdown rather than plain numbers.
13894

13995
```
140-
$stats
96+
$usage
14197
```
14298

14399
## Design Philosophy
@@ -146,9 +102,8 @@ Rael is designed to:
146102

147103
- Provide fast and reliable access to AI-assisted conversation
148104
- Support multiple models and personas without complicating the interface
149-
- Extend usefulness beyond chat through vision, search, and live data
105+
- Extend usefulness beyond chat and search
150106
- Maintain a minimal and predictable command system
151-
- Present usage and data visually wherever it improves clarity
152107

153108
## License
154109

File renamed without changes.

0 commit comments

Comments
 (0)