|
1 | | -# Pawgrammer Bot |
| 1 | +# 🐾 Pawgrammer Bot |
2 | 2 |
|
3 | | -Pawgrammer is DevHub’s documentation, AI, and reference assistant bot. |
4 | | -It provides access to AI chat, curated knowledge, and utility commands designed to support contributors and users across the platform. |
| 3 | +Pawgrammer is DevHub’s **documentation, AI, references, and news bot**. |
| 4 | +It helps contributors stay informed, learn faster, and access curated resources, all through simple **prefix commands**. |
5 | 5 |
|
6 | | -The bot is built around a simple prefix-based interface focused on clarity, consistency, and fast access to information. |
| 6 | +## 📖 Usage |
7 | 7 |
|
8 | | -## Usage |
| 8 | +All commands are **prefix-only**. |
| 9 | +Use either `++[cmd]` or `?[cmd]` (without brackets). |
9 | 10 |
|
10 | | -Pawgrammer uses prefix commands. The available prefixes are: |
11 | | - |
12 | | -- `.` → AI-first input mode |
13 | | -- `$` → Command-first mode |
14 | | - |
15 | | -### AI-first mode (`.`) |
16 | | - |
17 | | -The dot prefix sends your message directly to the AI system without requiring a command name. |
18 | | - |
19 | | -Example: |
20 | | -. What is a JavaScript promise? |
21 | | -. Explain async/await in simple terms |
22 | | - |
23 | | -### Command-first mode (`$`) |
24 | | - |
25 | | -Use this for structured commands such as configuration, status checks, or utility actions. |
26 | | - |
27 | | -Example: |
28 | | - |
29 | | -``` |
30 | | -$help |
31 | | -$ping |
32 | | -$persona list |
33 | | -$resetai |
34 | | -``` |
35 | | - |
36 | | -## Commands Overview |
37 | | - |
38 | | -| Command | Aliases | Description | |
39 | | -| --------- | ---------------------------------------- | ------------------------------------- | |
40 | | -| `ai` | `askai` | Sends a prompt to the AI model | |
41 | | -| `persona` | `personaai`, `mode`, `character` | Manage or view AI personas | |
42 | | -| `resetai` | `aiclear`, `clearai`, `aireset`, `reset` | Clears AI conversation context | |
43 | | -| `help` | — | Displays available commands and usage | |
44 | | -| `ping` | — | Returns bot latency | |
45 | | - |
46 | | -## AI Command Usage |
47 | | - |
48 | | -The AI system supports both prefixes: |
| 11 | +### Examples |
49 | 12 |
|
| 13 | +```text |
| 14 | +++ai What’s the difference between npm and yarn? |
| 15 | +++mdn WeakMap |
| 16 | +++news |
| 17 | +++dontasktoask |
| 18 | +++rules |
| 19 | +++org |
| 20 | +++persona list |
| 21 | +++persona set debugcoach |
50 | 22 | ``` |
51 | | -. What is event loop in Node.js? |
52 | | -$ai What is event loop in Node.js? |
53 | | -``` |
54 | | - |
55 | | -To reset context: |
56 | | - |
57 | | -``` |
58 | | -$resetai |
59 | | -or |
60 | | -$ai reset |
61 | | -``` |
62 | | - |
63 | | -Resetting clears conversation history and restores default behavior. |
64 | | - |
65 | | -## Persona System |
66 | | - |
67 | | -The persona system allows users to adjust the AI’s behavior and response style. |
68 | | - |
69 | | -### Available subcommands: |
70 | | - |
71 | | -- `$persona list` |
72 | | - Displays all available personas. |
73 | | - |
74 | | -- `$persona current` / `status` / `now` / `active` |
75 | | - Shows the currently active persona. |
76 | | - |
77 | | -- `$persona set <name>` / `use <name>` / `switch <name>` |
78 | | - Switches to a selected persona. |
79 | | - |
80 | | -- `$persona reset` / `clear` |
81 | | - Restores the default persona and clears context. |
82 | 23 |
|
83 | | -## Design Philosophy |
| 24 | +## 🛠️ Commands Overview |
| 25 | + |
| 26 | +| Command | Description | |
| 27 | +| --------------- | ------------------------------------------------------ | |
| 28 | +| ai | Ask the AI model | |
| 29 | +| persona | List and switch AI personas | |
| 30 | +| articles | Latest developer news headlines | |
| 31 | +| mdn | Search MDN Web Docs | |
| 32 | +| wiki | Search Wikipedia | |
| 33 | +| repo | Get information about a GitHub repository | |
| 34 | +| user | Get information about a GitHub user | |
| 35 | +| ping | Pong! | |
| 36 | +| news | Latest developer/tech news headlines | |
| 37 | +| askbetter | Guidelines on how to ask a quality question | |
| 38 | +| dontasktoask | dontasktoask.com | |
| 39 | +| github | GitHub organization link | |
| 40 | +| imageofanerror | Asking for text instead of error images | |
| 41 | +| imageofcode | Asking for text instead of code images | |
| 42 | +| itsnotworking | Asking for more detail than "it is not working" | |
| 43 | +| mcve | Minimal Complete Verifiable Example | |
| 44 | +| noattempt | User has shown no attempt at solving the problem | |
| 45 | +| nocode | User provided no code | |
| 46 | +| nodebugging | User has not attempted to debug | |
| 47 | +| noerror | User did not provide the error message | |
| 48 | +| nohello | Dont just say hello, ask the question | |
| 49 | +| noresearch | User has not searched for the answer | |
| 50 | +| rules | Sends link to rule channel | |
| 51 | +| sask | Short Ask - asking to ask | |
| 52 | +| tldr | Too long, didn't read (requesting summary) | |
| 53 | +| toomuchcode | User posted an entire project | |
| 54 | +| toomuchinfo | Post contains irrelevant information | |
| 55 | +| tos | Discord Terms of Service | |
| 56 | +| tryit | Try it and see / TIAS | |
| 57 | +| unclearquestion | The question makes no sense | |
| 58 | +| xyproblem | The XY Problem | |
| 59 | +| backseat | Rule against unsolicited advice or "backseat" coding | |
| 60 | +| changesubjects | Rule against changing the subject mid-help | |
| 61 | +| chatgpt | Policy on AI-generated code (ChatGPT, Claude, etc.) | |
| 62 | +| cheat | Rule against asking for help with cheating | |
| 63 | +| crypto | Policy on crypto, NFT, and blockchain discussion | |
| 64 | +| dm | Rule against asking for DMs for help | |
| 65 | +| english | Request to use English for technical support | |
| 66 | +| exams | Rule against help with active exams/tests | |
| 67 | +| flame | Rule against flaming or toxicity | |
| 68 | +| freework | Rule against asking people to code for you for free | |
| 69 | +| hacks | Rule against discussing hacking or unauthorized access | |
| 70 | +| image | General rule on image usage in chat | |
| 71 | +| moveon | Request to end a toxic or circular argument | |
| 72 | +| nickpolicy | Rules regarding nicknames (no pings/offensive content) | |
| 73 | +| noping | Rule against unnecessarily pinging staff or users | |
| 74 | +| scraping | Policy on web scraping and automation | |
| 75 | +| selfbot | Strict rule against self-bots | |
| 76 | +| spoon | Rule against "spoon-feeding" / asking to be spoon-fed | |
| 77 | +| voice | Rules for voice channel behavior | |
| 78 | + |
| 79 | +## 🐾 Philosophy |
84 | 80 |
|
85 | 81 | Pawgrammer is designed to: |
86 | 82 |
|
87 | | -- Provide fast and reliable access to AI-assisted information |
88 | | -- Encourage consistent and structured interactions |
89 | | -- Support developer productivity within DevHub |
90 | | -- Maintain a minimal and predictable command system |
| 83 | +- Empower contributors with **fast, reliable knowledge**. |
| 84 | +- Encourage **community best practices**. |
| 85 | +- Keep DevHub’s spaces **welcoming, informed, and fun**. |
91 | 86 |
|
92 | | -## License |
| 87 | +## 📄 License |
93 | 88 |
|
94 | 89 | Pawgrammer Bot is licensed under DSAL v1.0 |
95 | | -See the full license in the [LICENSE](./LICENSE) file |
| 90 | +See license in [LICENSE](./LICENSE) |
0 commit comments