open-index/open-npm huggingface dataset:
npm package: @sideline/bot
Description: Discord bot for Sideline
Latest version: 0.0.0

# @sideline/bot

Discord bot for Sideline, built with [dfx](https://github.com/tim-smart/dfx) (Effect-native Discord library).

## Running

Set the `DISCORD_BOT_TOKEN` environment variable, then run:

```sh
pnpm --filter @sideline/bot dev
```
npm package: @sideline/i18n
Description: Shared translation messages for Sideline
Latest version: 0.3.6

# Paraglide JS Compiled Output

> Auto-generated i18n message functions. Import `messages.js` to use translated strings.

Compiled from: `/home/runner/work/sideline/sideline/packages/i18n/project.inlang`


## What is this folder?

This folder contains compiled [Paraglide JS](https://github.com/opral/paraglide-js) output. Paraglide JS compiles your translation messages into tree-shakeable JavaScript functions.

## At a glance

Purpose:
- This folder stores compiled i18n message functions.
- Source translations live outside this folder in your inlang project.

Safe to import:
- `messages.js` — all message functions
- `runtime.js` — locale utilities
- `server.js` — server-side middleware

Do not edit:
- All files in this folder are auto-generated.
- Changes will be overwritten on next compilation.

```
paraglide/
├── messages.js      # Message exports (import this)
├── messages/        # Individual message functions
├── runtime.js       # Locale detection & configuration
├── registry.js      # Formatting utilities (plural, number, datetime)
├── server.js        # Server-side middleware
└── .gitignore       # Marks folder as generated
```

## Usage

```js
import * as m from "./paraglide/messages.js";

// Messages are functions that return localized strings
m.hello_world();             // "Hello, World!" (in current locale)
m.greeting({ name: "Sam" }); // "Hello, Sam!"

// Override locale per-call
m.hello_world({}, { locale: "de" });           // "Hallo, Welt!"
m.greeting({ name: "Sam" }, { locale: "de" }); // "Hallo, Sam!"
```

## Runtime API

```js
import { getLocale, setLocale, locales, baseLocale } from "./paraglide/runtime.js";

getLocale();    // Current locale, e.g., "en"
setLocale("de"); // Set locale
locales;        // Available locales, e.g., ["en", "de", "fr"]
baseLocale;     // Default locale, e.g., "en"
```

## Strategy

The strategy determines how the current locale is detected and persisted:

- **Cookie**: Stores locale preference in a cookie.
- **URL**: Derives locale from URL patterns (e.g., `/en/about`, `en.example.com`).
- **GlobalVariable**: Uses a global variable (client-side only).
- **BaseLocale**: Always returns the base locale.

Strategies can be combined. The order defines precedence:

```js
await compile({
  project: "./project.inlang",
  outdir: "./src/paraglide",
  strategy: ["url", "cookie", "baseLocale"],
});
```

See the [strategy documentation](https://inlang.com/m/gerre34r/library-inlang-paraglideJs/strategy) for details.

## Key concepts

- **Tree-shakeable**: Each message is a function, enabling [up to 70% smaller i18n bundle sizes](https://inlang.com/m/gerre34r/library-inlang-paraglideJs/benchmark) than traditional i18n libraries.
- **Typesafe**: Full TypeScript/JSDoc support with autocomplete.
- **Variants**: Messages can have variants for pluralization, gender, etc.
- **Fallbacks**: Missing translations fall back to the base locale.

## Links

- [Paraglide JS Documentation](https://inlang.com/m/gerre34r/library-inlang-paraglideJs)
- [Source Repository](https://github.com/opral/paraglide-js)
npm package: @sideline/server
Description: The server template
Latest version: 0.0.0

# Effect Monorepo Template - Server Package

Run the `dev` script in `@sideline/server` package to start the server

The server will start on `http://localhost:3000` by default.

## TODOs API Endpoints

The server provides few endpoints

### Create a new TODO

```sh
curl -X POST http://localhost:3000/todos \
  -H "Content-Type: application/json" \
  -d '{"text": "my first effect todo"}'
```

### List all TODOs

```sh
curl -X GET http://localhost:3000/todos
```

### Get a specific TODO by ID

```sh
curl -X GET http://localhost:3000/todos/0
```

### Mark TODO completed

```sh
curl -X PATCH http://localhost:3000/todos/0
```

### Delete a specific TODO by ID

```sh
curl -X DELETE http://localhost:3000/todos/0
```