{"_id":"@arthur.eudeline/rendu","_rev":"4-6bd4a5ab431127ed0d6d6d825a957380","name":"@arthur.eudeline/rendu","dist-tags":{"latest":"1.1.1"},"versions":{"0.1.0":{"name":"@arthur.eudeline/rendu","version":"0.1.0","author":{"name":"Arthur Eudeline","email":"contact@arthur-eudeline.com"},"license":"MIT","_id":"@arthur.eudeline/rendu@0.1.0","maintainers":[{"name":"arthur.eudeline","email":"contact@arthur-eudeline.com"}],"bin":{"rendu":"bin/rendu.js"},"dist":{"shasum":"480eff5dc8eeed393ab159f131c4343f4a5a0cef","tarball":"https://registry.npmjs.org/@arthur.eudeline/rendu/-/rendu-0.1.0.tgz","fileCount":3,"integrity":"sha512-aSvEPIaED2i9o5wNzH1ziiwdxWop8/xNJk1HdUIdHQGNtRF8X2jA2wTO2XF+/xehAB6NLzS3UrrYWRcGcICQFA==","signatures":[{"sig":"MEUCIHQ5BrwhstZi0UQyMwL27vzagmjJknKf3Yqu5XqeUhhwAiEApZjrxlRc8rq4FwPC1R4QyWlH4EOw7kmALbo2hRuk3vQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7545},"type":"module","engines":{"node":">=18"},"gitHead":"f65543d5d630cfc9bf89e15e01cfb02d2c74baef","scripts":{"dev":"bun run src/index.ts","test":"bun test","build":"bun scripts/build.ts","tegami":"node scripts/tegami.mts","release":"bun scripts/publish.ts","changelog":"node scripts/tegami.mts","typecheck":"tsc --noEmit","publish:all":"bun scripts/publish.ts --skip-version","publish:dry":"bun scripts/publish.ts --skip-version --dry-run","release:dry":"bun scripts/publish.ts --dry-run"},"_npmUser":{"name":"arthur.eudeline","email":"contact@arthur-eudeline.com"},"_npmVersion":"11.2.0","description":"CLI permettant aux étudiants de créer des archives ZIP de leurs rendus de travaux pratiques.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","chalk":"^6.0.0","jszip":"^3.10.1","effect":"^3.22.1","ignore":"^7.0.6","tegami":"^1.4.0","commander":"^15.0.0","@types/bun":"^1.4.0","typescript":"^7.0.2","@sentry/bun":"^10.70.0","@clack/prompts":"^1.7.0"},"optionalDependencies":{"@arthur.eudeline/rendu-linux-x64":"0.1.0","@arthur.eudeline/rendu-win32-x64":"0.1.0","@arthur.eudeline/rendu-darwin-x64":"0.1.0","@arthur.eudeline/rendu-linux-arm64":"0.1.0","@arthur.eudeline/rendu-darwin-arm64":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/rendu_0.1.0_1788268556757_0.18937799698310487","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@arthur.eudeline/rendu","version":"1.0.0","author":{"name":"Arthur Eudeline","email":"contact@arthur-eudeline.com"},"license":"MIT","_id":"@arthur.eudeline/rendu@1.0.0","maintainers":[{"name":"arthur.eudeline","email":"contact@arthur-eudeline.com"}],"bin":{"rendu":"bin/rendu.js"},"dist":{"shasum":"b68489eb39ba1ef3654d5567caad388cf3c9791e","tarball":"https://registry.npmjs.org/@arthur.eudeline/rendu/-/rendu-1.0.0.tgz","fileCount":3,"integrity":"sha512-gwkUn5o9e053M2FcuqQONS2ATVOy6VoSvAHzxsftsyMC56JKrn+UodwDQ+28zH9bZ80nZZXgp4+WKfXXjW6dHQ==","signatures":[{"sig":"MEUCIQCDL9EDlgTBP3S0YCKhKUP/r/nhm2FQayeAClvRz0Q6vAIgUk2r6IvHHXD9Bc7RXRN7T53Nbu5J9nAC1Lw2K9joJZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9834},"type":"module","engines":{"node":">=18"},"gitHead":"f6b2c6b7fbe6913d65ec007698c49752880cfb99","scripts":{"dev":"bun run src/index.ts","test":"bun test","build":"bun scripts/build.ts","tegami":"node scripts/tegami.mts","release":"bun scripts/publish.ts","changelog":"node scripts/tegami.mts","typecheck":"tsc --noEmit","publish:all":"bun scripts/publish.ts --skip-version","publish:dry":"bun scripts/publish.ts --skip-version --dry-run","release:dry":"bun scripts/publish.ts --dry-run"},"_npmUser":{"name":"arthur.eudeline","email":"contact@arthur-eudeline.com"},"_npmVersion":"11.2.0","description":"CLI permettant aux étudiants de créer des archives ZIP de leurs rendus de travaux pratiques.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","chalk":"^6.0.0","jszip":"^3.10.1","effect":"^3.22.1","ignore":"^7.0.6","tegami":"^1.4.0","commander":"^15.0.0","@types/bun":"^1.4.0","typescript":"^7.0.2","@sentry/bun":"^10.70.0","@clack/prompts":"^1.7.0"},"optionalDependencies":{"@arthur.eudeline/rendu-linux-x64":"1.0.0","@arthur.eudeline/rendu-win32-x64":"1.0.0","@arthur.eudeline/rendu-darwin-x64":"1.0.0","@arthur.eudeline/rendu-linux-arm64":"1.0.0","@arthur.eudeline/rendu-darwin-arm64":"1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rendu_1.0.0_1788276473300_0.8651867154439756","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@arthur.eudeline/rendu","version":"1.1.0","author":{"name":"Arthur Eudeline","email":"contact@arthur-eudeline.com"},"license":"MIT","_id":"@arthur.eudeline/rendu@1.1.0","maintainers":[{"name":"arthur.eudeline","email":"contact@arthur-eudeline.com"}],"bin":{"rendu":"bin/rendu.js"},"dist":{"shasum":"797b960060e4cc9b9195e8b01e50a52056fa69bd","tarball":"https://registry.npmjs.org/@arthur.eudeline/rendu/-/rendu-1.1.0.tgz","fileCount":3,"integrity":"sha512-D9jG255y4AHiqmm8X895io/WAwIrkVEPMxUnTaj2isI1ePAvn9WiMp9Hcp3oVgeKiQkTNiuFshjynGIN01tqpw==","signatures":[{"sig":"MEYCIQCLZqA7XpznDFYBsLTXRgJMui/sjYUYKlTiZw+tLpp0mAIhAMzR8E4G7RfUyxsq5BRCpmbCZBGIlFkFaxsZG62k2yHt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12396},"type":"module","engines":{"node":">=18"},"gitHead":"a27721f173ea80d8e25ac6a467c1b625ebe2c8cd","scripts":{"dev":"bun run src/index.ts","test":"bun test","build":"bun scripts/build.ts","tegami":"node scripts/tegami.mts","release":"bun scripts/publish.ts","changelog":"node scripts/tegami.mts","typecheck":"tsc --noEmit","publish:all":"bun scripts/publish.ts --skip-version","publish:dry":"bun scripts/publish.ts --skip-version --dry-run","release:dry":"bun scripts/publish.ts --dry-run"},"_npmUser":{"name":"arthur.eudeline","email":"contact@arthur-eudeline.com"},"_npmVersion":"11.2.0","description":"CLI permettant aux étudiants de créer des archives ZIP de leurs rendus de travaux pratiques.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","chalk":"^6.0.0","jszip":"^3.10.1","effect":"^3.22.1","ignore":"^7.0.6","tegami":"^1.4.0","commander":"^15.0.0","@types/bun":"^1.4.0","typescript":"^7.0.2","@sentry/bun":"^10.70.0","@clack/prompts":"^1.7.0"},"optionalDependencies":{"@arthur.eudeline/rendu-linux-x64":"1.1.0","@arthur.eudeline/rendu-win32-x64":"1.1.0","@arthur.eudeline/rendu-darwin-x64":"1.1.0","@arthur.eudeline/rendu-linux-arm64":"1.1.0","@arthur.eudeline/rendu-darwin-arm64":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/rendu_1.1.0_1788277359133_0.579779319446394","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@arthur.eudeline/rendu","version":"1.1.1","description":"CLI permettant aux étudiants de créer des archives ZIP de leurs rendus de travaux pratiques.","type":"module","license":"MIT","author":{"name":"Arthur Eudeline","email":"contact@arthur-eudeline.com"},"bin":{"rendu":"bin/rendu.js"},"engines":{"node":">=18"},"scripts":{"dev":"bun run src/index.ts","build":"bun scripts/build.ts","changelog":"node scripts/tegami.mts","tegami":"node scripts/tegami.mts","release":"bun scripts/publish.ts","release:dry":"bun scripts/publish.ts --dry-run","publish:all":"bun scripts/publish.ts --skip-version","publish:dry":"bun scripts/publish.ts --skip-version --dry-run","typecheck":"tsc --noEmit","test":"bun test"},"optionalDependencies":{"@arthur.eudeline/rendu-darwin-arm64":"1.1.1","@arthur.eudeline/rendu-darwin-x64":"1.1.1","@arthur.eudeline/rendu-linux-arm64":"1.1.1","@arthur.eudeline/rendu-linux-x64":"1.1.1","@arthur.eudeline/rendu-win32-x64":"1.1.1"},"devDependencies":{"@clack/prompts":"^1.7.0","@sentry/bun":"^10.70.0","@types/bun":"^1.4.0","chalk":"^6.0.0","commander":"^15.0.0","effect":"^3.22.1","ignore":"^7.0.6","jszip":"^3.10.1","tegami":"^1.4.0","typescript":"^7.0.2","zod":"^4.4.3"},"_id":"@arthur.eudeline/rendu@1.1.1","gitHead":"7a34abdd774b89eaa3f1116737052c297c8077dd","_nodeVersion":"24.11.1","_npmVersion":"11.2.0","dist":{"integrity":"sha512-STEncyghcZxlAR7voeTTXNvUNaCF5klp2KZ5dXRI8yl68rXt/WZaiW/HA1W2PvuOWDncOg/NTVVRCAb6mg4ECg==","shasum":"2bba9caf9ec1f97b5bb1e14efb73726ebb450859","tarball":"https://registry.npmjs.org/@arthur.eudeline/rendu/-/rendu-1.1.1.tgz","fileCount":3,"unpackedSize":12398,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDjE/VzWRP4yd69kR/6Asq7M1lmtjjKPfDww+LoSNWy6AiACrY9TVfZU9DtivyTNp8S6l6QczTOzSin2m/EJXwApfA=="}]},"_npmUser":{"name":"arthur.eudeline","email":"contact@arthur-eudeline.com"},"directories":{},"maintainers":[{"name":"arthur.eudeline","email":"contact@arthur-eudeline.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rendu_1.1.1_1788868613657_0.8160442566463082"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-01T13:15:56.529Z","modified":"2026-09-08T11:56:53.970Z","0.1.0":"2026-09-01T13:15:56.896Z","1.0.0":"2026-09-01T15:27:53.419Z","1.1.0":"2026-09-01T15:42:39.297Z","1.1.1":"2026-09-08T11:56:53.777Z"},"author":{"name":"Arthur Eudeline","email":"contact@arthur-eudeline.com"},"license":"MIT","description":"CLI permettant aux étudiants de créer des archives ZIP de leurs rendus de travaux pratiques.","maintainers":[{"name":"arthur.eudeline","email":"contact@arthur-eudeline.com"}],"readme":"# Rendu\n\n**Rendu** est un outil en ligne de commande qui aide les étudiants à préparer\nl'archive ZIP de leurs travaux pratiques d'informatique.\n\nÀ partir d'un dossier, `rendu` produit un fichier `NOM_Prenom.zip` qui, une fois\ndécompressé, donne un dossier `NOM_Prenom/` contenant votre travail. Le nom est\nconstruit automatiquement à partir de votre identité, saisie une seule fois puis\nmémorisée dans votre dossier personnel.\n\n## Fonctionnement en bref\n\n- Nom d'archive normalisé : `DUPONT_Marie.zip` → dossier `DUPONT_Marie/` à la\n  décompression (accents retirés, espaces remplacés par des tirets).\n- Le `.gitignore` du dossier est respecté : ce qu'il exclut n'entre jamais dans\n  l'archive (il est prépondérant).\n- Fichier **`.rendu.yml`** optionnel, à la racine du dossier archivé, avec trois\n  entrées facultatives : `root` (garde-fou), `include` (liste blanche) et\n  `exclude` (exclusions supplémentaires). Voir\n  [Choisir ce qui entre dans l'archive](#choisir-ce-qui-entre-dans-larchive).\n- Un jeu de **motifs toujours exclus** (récursivement) est retiré de toute\n  archive : `.git/`, `node_modules/`, `dist/`, `build/`, `.env`, `.vscode/`,\n  `.idea/`, `.claude/`, `.DS_Store`, `*.log`, `*.zip`… — voir\n  [Motifs toujours exclus](#motifs-toujours-exclus) pour la liste complète.\n- Prompts interactifs et lisibles.\n\n## Installation\n\n```bash\nnpm install -g \"@arthur.eudeline/rendu\"\n```\n\nLe bon binaire natif est installé automatiquement selon votre système\n(macOS / Linux / Windows, arm64 ou x64). La commande globale `rendu` devient\nalors disponible.\n\n## Utilisation\n\n### Première configuration\n\nRenseignez votre prénom et votre nom. Ils sont stockés dans\n`~/.rendu/config.json`.\n\n```bash\nrendu config\n```\n\nVous pouvez relancer cette commande à tout moment pour corriger vos\ninformations. Si vous lancez la création d'une archive sans configuration\nexistante, `rendu` vous la demande à ce moment-là.\n\n### Créer une archive de rendu\n\n```bash\nrendu               # archive le dossier courant\nrendu ./tp3         # archive le dossier ./tp3\nrendu /chemin/complet/vers/tp\n```\n\nLe fichier `NOM_Prenom.zip` est écrit dans le dossier courant. S'il existe déjà,\n`rendu` demande confirmation avant de l'écraser. À la fin, la liste des fichiers\ninclus est affichée.\n\n### Prévisualiser le contenu de l'archive\n\n```bash\nrendu preview          # arborescence du dossier courant\nrendu preview ./tp3    # arborescence du dossier ./tp3\n```\n\nAffiche, sans rien écrire sur le disque, l'arbre des fichiers qui seraient\ninclus, en appliquant les mêmes règles que la création.\n\n### Choisir ce qui entre dans l'archive\n\nPar défaut, tout le contenu du dossier est archivé, à l'exception de ce que le\n`.gitignore` du dossier exclut et des **motifs toujours exclus** ci-dessous.\n\n#### Motifs toujours exclus\n\nCes motifs sont retirés de **toute** archive, **récursivement** (à n'importe\nquelle profondeur) et sans qu'`include` puisse les réintégrer. Ils\ncorrespondent à la constante `HARD_IGNORES` de\n[`src/lib/rendufile.ts`](src/lib/rendufile.ts).\n\n| Catégorie                        | Motifs                                                                                                                                                                    |\n| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Rendu & gestion de versions      | `.git/`, `.gitignore`, `.gitattributes`, `.hg/`, `.svn/`, `.rendu.yml`                                                                                                       |\n| Dépendances & artefacts de build | `node_modules/`, `vendor/`, `bower_components/`, `dist/`, `build/`, `out/`, `target/`, `.next/`, `.nuxt/`, `.svelte-kit/`, `.turbo/`, `.parcel-cache/`, `.cache/`, `coverage/`, `__pycache__/`, `.venv/`, `venv/` |\n| Éditeurs, IDE & outils           | `.vscode/`, `.idea/`, `.claude/`, `.cursor/`, `.zed/`, `*.swp`, `*~`                                                                                                         |\n| Fichiers système                 | `.DS_Store`, `.AppleDouble`, `Thumbs.db`, `desktop.ini`                                                                                                                      |\n| Secrets & journaux               | `.env`, `.env.*`, `*.log`                                                                                                                                                    |\n| Archives                         | `*.zip`, `*.tar`, `*.tar.gz`, `*.tgz`, `*.rar`                                                                                                                               |\n\n#### Aller plus loin avec `.rendu.yml`\n\nPour contrôler plus finement, placez un fichier **`.rendu.yml`** à la racine du\ndossier archivé. `rendu create` en génère un pré-rempli :\n\n```bash\nrendu create          # crée ./.rendu.yml\nrendu create ./tp3    # crée ./tp3/.rendu.yml\n# alias : rendu generate | rendu init | rendu gen\n```\n\nSi le fichier existe déjà, `rendu` demande confirmation avant de l'écraser.\n\n#### Format du `.rendu.yml`\n\nLes trois entrées sont **facultatives** :\n\n| Clé       | Rôle                                                                                                                                                                                              |\n| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `root`    | Chemin (fichier ou dossier) qui **doit exister** dans le dossier fourni. Sinon `rendu` s'arrête : « ce n'est pas le bon dossier ». Simple garde-fou — sans effet sur le contenu réellement archivé. |\n| `include` | Liste de motifs façon `.gitignore`. Si elle est renseignée, elle agit comme **liste blanche** : seuls les fichiers correspondants sont archivés.                                                  |\n| `exclude` | Liste de motifs façon `.gitignore` retirés **en plus** du `.gitignore` et des motifs toujours exclus. Inutile d'y remettre les artefacts courants — ils sont déjà exclus d'office.                  |\n\nLes motifs suivent la syntaxe `.gitignore` : sans `/` au début ou au milieu, un\nmotif s'applique **récursivement** à n'importe quelle profondeur (`node_modules`\nexclut aussi `packages/x/node_modules/`).\n\nFichier généré par `rendu create` :\n\n```yaml\n# Pointe vers un fichier à la racine du répertoire du rendu.\n# Si ce fichier n'existe pas, une erreur est générée.\nroot: package.json\n\n# Fichiers et dossiers à inclure dans le rendu (motifs façon .gitignore).\ninclude:\n  - \"*\"\n\n# Fichiers et dossiers à exclure du rendu (motifs façon .gitignore, récursifs).\n# Les artefacts courants sont déjà exclus d'office : node_modules, dist, build,\n# .git, .env, .DS_Store, .idea, .vscode, .claude, *.log, *.zip…\nexclude:\n  - brouillon/\n  - \"*.tmp\"\n```\n\n#### Ordre de priorité\n\nDu plus fort au plus faible :\n\n1. Motifs toujours exclus **et** `.gitignore` du dossier — jamais archivés.\n2. `exclude` du `.rendu.yml` — retirés en plus.\n3. `include` du `.rendu.yml`, s'il est renseigné — ne conserve que les fichiers\n   correspondants.\n4. Sinon, tout ce qui a survécu aux étapes précédentes est archivé.\n\nLe `.gitignore` reste donc **prépondérant** : un fichier qu'il exclut n'est\njamais archivé, même si `include` le désigne.\n\n### Mettre à jour Rendu\n\n```bash\nrendu upgrade\n```\n\nVérifie la dernière version publiée sur npm et, après confirmation, lance\n`npm install -g @arthur.eudeline/rendu@latest`.\n\n## Commandes\n\n| Commande               | Description                                              |\n| ---------------------- | ------------------------------------------------------- |\n| `rendu [path]`         | Crée l'archive du dossier indiqué (courant par défaut) |\n| `rendu preview [path]` | Affiche l'arborescence des fichiers qui seraient inclus |\n| `rendu create [path]`  | Génère un `.rendu.yml` pré-rempli (alias : `generate`, `init`, `gen`) |\n| `rendu config`         | Définit ou met à jour votre prénom / nom               |\n| `rendu upgrade`        | Met à jour le CLI vers la dernière version             |\n| `rendu -v`             | Affiche la version installée                           |\n\n## Licence\n\nMIT — Arthur Eudeline\n","readmeFilename":"README.md"}