Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
node_modules
dist
_pagex
.idea
node_modules/
dist/
.astro/
.env
.env.local
.DS_Store
*.log
.idea/
9 changes: 3 additions & 6 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
image: node:24-alpine

variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_SUBMODULE_FORCE_HTTPS: "true"
image: node:22-alpine

before_script:
- npm ci

pages:
script:
# Add brotli for compression
- apk add --no-cache brotli
# Build app
- npm run build
# Optimize output files via gzip & brotli
# Compress static assets
- find dist -type f -regex '.*\.\(htm\|html\|xml\|txt\|text\|js\|css\|svg\|woff2\)$' -exec gzip -f -k {} \;
- find dist -type f -regex '.*\.\(htm\|html\|xml\|txt\|text\|js\|css\|svg\|woff2\)$' -exec brotli -f -k {} \;
pages:
Expand Down
18 changes: 0 additions & 18 deletions .gitmodules

This file was deleted.

81 changes: 81 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# CLAUDE.md — Moddy Docs

## Présentation du projet

Site de documentation officielle de **Moddy**, un bot Discord public en Python développé par @juthing (PM + dev). Tagline : *"Built to let you focus on your community."*

URL de production : `docs.moddy.app`

## Stack technique

- **Astro 5** — SSG (Static Site Generation)
- **@material/web** — Composants UI Material Design 3 (chargés via CDN importmap)
- **marked** — Rendu Markdown côté serveur
- **Vanilla JS** — Interactivité (theme, langue, recherche)
- **TypeScript** — Typages partout

## Commandes

```bash
npm run dev # Serveur de développement (http://localhost:4321)
npm run build # Build de production dans dist/
npm run preview # Prévisualiser le build
```

## Architecture rapide

```
src/layouts/Base.astro ← Layout principal (tokens MD3, nav, footer)
src/components/Nav.astro ← Navbar (search, lang, theme)
src/pages/index.astro ← Accueil
src/pages/articles/[id].astro ← Page article
src/pages/authors/[id].astro ← Page auteur
src/pages/collections/[id].astro ← Page collection
content/articles/{id}/ ← Dossier article (meta.json + fr.md + en.md)
content/authors/{id}.json ← Profil auteur
content/labels/{id}.json ← Label/collection
docs/ ← Documentation complète
```

**Docs complètes :** voir `docs/architecture.md` et `docs/content-guide.md`

## Règles de développement

### Material Web
- Utiliser UNIQUEMENT les composants `@material/web` pour tous les éléments interactifs
- Ne jamais utiliser de bibliothèques UI tierces (Bootstrap, Tailwind, etc.)
- Les tokens CSS sont les seuls moyens de customiser les composants : `--md-sys-color-*`, `--md-sys-shape-*`, etc.
- Import via CDN dans `Base.astro` — ajouter les nouveaux composants à la liste d'imports si besoin

### Design
- Référence visuelle : dossier `/examples/` (maquettes HTML du site cible)
- Ne jamais modifier le dossier `/examples/`
- Reproduire fidèlement les espacements, typographies, effets des maquettes
- Couleurs dynamiques : chaque article/auteur/label a un `themeColor` qui génère une palette MD3

### i18n
- Les chaînes UI sont dans `src/i18n/translations.ts`
- Les articles ont `fr.md` + `en.md` — les deux sont rendus dans la page, JS switch selon langue
- Toujours ajouter les deux langues quand on ajoute une chaîne
- Language stocké dans `localStorage('moddy-lang')`, détecté via `navigator.language`

### Contenu
- Suivre strictement le format de `docs/content-guide.md`
- Les IDs sont en kebab-case minuscule
- Les dates sont ISO YYYY-MM-DD
- Niveaux de référencement : 1 = public, 2 = découvrable, 3 = lien direct uniquement

### API Discord
- Endpoint : `https://api.moddy.app/users/{user_id}`
- Utiliser `src/utils/discord.ts` pour les fetches
- Ne fetch que si au moins un champ auteur est `"DISCORD"`
- Les fetches se font au **build time** dans les pages `.astro`

### Git
- Branche de travail : `claude/lucid-mccarthy-w4dAo`
- Ne jamais committer `dist/`, `node_modules/`, `.astro/`
- Messages de commit clairs et en français ou anglais

## Todolist

Voir `docs/todo.md` pour l'état complet des tâches.
11 changes: 11 additions & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { defineConfig } from 'astro/config';
import sitemap from '@astrojs/sitemap';

export default defineConfig({
site: 'https://docs.moddy.app',
integrations: [sitemap()],
output: 'static',
build: {
assets: '_assets',
},
});
65 changes: 65 additions & 0 deletions content/articles/getting-started/en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Getting Started with Moddy

Moddy is a public Discord bot designed to simplify your community management. This guide walks you through the invitation to complete configuration.

## Prerequisites

- A Discord server where you are **owner or administrator**
- The `Manage Server` permission on your Discord account

## 1. Invite Moddy

Click the invitation link below to add Moddy to your server:

```
https://discord.com/oauth2/authorize?client_id=MODDY_ID&permissions=8&scope=bot+applications.commands
```

> **Tip:** Moddy requests `Administrator` permission to work correctly. You can restrict its permissions afterwards from server settings.

## 2. Run the Setup Wizard

Once Moddy is on your server, type:

```
/setup
```

The interactive wizard will guide you through configuring:

| Feature | Description |
|---|---|
| Log channel | Where to send audit events |
| Welcome system | Welcome message and channel |
| Auto role | Assigned to new members |
| Bot language | French or English |

## 3. Check the Configuration

After setup, use `/config` to verify everything is correctly configured.

```
/config
```

The response shows a summary of all active configuration.

## 4. Test Moderation

Try a test command to make sure everything works:

```
/warn @user This is a test
```

---

## Troubleshooting

If Moddy doesn't respond:

1. Check that it has **Send Messages** permission in the channel
2. Check that it isn't `timeout` or `banned`
3. Join our Discord server and open a support ticket

*Welcome to the Moddy community!* 🎉
65 changes: 65 additions & 0 deletions content/articles/getting-started/fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Débuter avec Moddy

Moddy est un bot Discord public conçu pour simplifier la gestion de votre communauté. Ce guide vous accompagne de l'invitation jusqu'à la configuration complète.

## Prérequis

- Un serveur Discord dont vous êtes **propriétaire ou administrateur**
- Les permissions `Gérer le serveur` sur votre compte Discord

## 1. Inviter Moddy

Cliquez sur le lien d'invitation ci-dessous pour ajouter Moddy à votre serveur :

```
https://discord.com/oauth2/authorize?client_id=MODDY_ID&permissions=8&scope=bot+applications.commands
```

> **Astuce :** Moddy demande l'autorisation `Administrateur` pour fonctionner correctement. Vous pouvez restreindre ses permissions par la suite depuis les paramètres du serveur.

## 2. Lancer l'assistant de configuration

Une fois Moddy présent sur votre serveur, tapez :

```
/setup
```

L'assistant interactif vous guidera pour configurer :

| Fonctionnalité | Description |
|---|---|
| Canal de logs | Où envoyer les événements d'audit |
| Système de bienvenue | Message et canal d'accueil |
| Rôle automatique | Attribué aux nouveaux membres |
| Langue du bot | Français ou Anglais |

## 3. Vérifier la configuration

Après le setup, utilisez `/config` pour vérifier que tout est correctement paramétré.

```
/config
```

La réponse affiche un récapitulatif de toute la configuration active.

## 4. Tester la modération

Essayez une commande de test pour vous assurer que tout fonctionne :

```
/warn @utilisateur Ceci est un test
```

---

## En cas de problème

Si Moddy ne répond pas :

1. Vérifiez qu'il a les permissions **Envoyer des messages** dans le canal
2. Vérifiez qu'il n'est pas `timeout` ou `banni`
3. Rejoignez notre serveur Discord et ouvrez un ticket de support

*Bienvenue dans la communauté Moddy !* 🎉
16 changes: 16 additions & 0 deletions content/articles/getting-started/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"id": "getting-started",
"title": {
"fr": "Débuter avec Moddy",
"en": "Getting Started with Moddy"
},
"summary": {
"fr": "Guide complet pour inviter Moddy sur votre serveur Discord et effectuer la configuration initiale en quelques minutes.",
"en": "Complete guide to invite Moddy to your Discord server and complete the initial setup in just a few minutes."
},
"authors": ["DISCORD"],
"createdAt": "2026-06-01",
"labels": ["guide"],
"banner": null,
"referencing": 1
}
Binary file not shown.
41 changes: 0 additions & 41 deletions content/articles/labscore-deprecation-notice/content.md

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion content/articles/playground-empty/content.md

This file was deleted.

Loading