Skip to content

Commit 249dd9d

Browse files
committed
chore: add first projects
1 parent 59de3eb commit 249dd9d

Some content is hidden

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

53 files changed

+4414
-0
lines changed

.aliases

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
alias d="deno"
2+
alias da="deno add"
3+
alias di="deno install"
4+
alias dt="deno task"
5+
alias dr="deno run -E"
6+
alias ds="deno task start"
7+
8+
function on() {
9+
set -o localoptions -o localtraps
10+
TRAPINT() {
11+
popd &>/dev/null
12+
}
13+
TRAPQUIT() {
14+
popd &>/dev/null
15+
}
16+
TRAPTERM() {
17+
popd &>/dev/null
18+
}
19+
TRAPERR() {
20+
popd &>/dev/null
21+
}
22+
TRAPZERR() {
23+
popd &>/dev/null
24+
}
25+
TRAPEXIT() {
26+
popd &>/dev/null
27+
}
28+
29+
pushd $1 &>/dev/null
30+
shift
31+
$*
32+
return 0
33+
}

.cursor/mcp.json

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"mcpServers": {
3+
"tmdb": {
4+
"type": "sse",
5+
"url": "http://localhost:4200/sse",
6+
"headers": {
7+
"Content-Type": "application/json"
8+
},
9+
"reconnectDelay": 1000,
10+
"maxRetries": 5
11+
}
12+
}
13+
}

.cursor/rules/mcp.mdc

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
description: Use mcp tools whenever they are relevant.
3+
globs:
4+
alwaysApply: false
5+
---
6+
7+
# Your rule content
8+
9+
- You can @ files here
10+
- You can use markdown but dont have to

.gitignore

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Mac
2+
.DS_Store
3+
4+
# Node Modules
5+
node_modules/
6+
7+
# Env files (while I don't add dotenvx or similar)
8+
!.env.local
9+
!.env.example
10+
.env
11+
.env.*

.vscode/extensions.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"recommendations": [
3+
"denoland.vscode-deno"
4+
]
5+
}

.vscode/settings.json

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"deno.enablePaths": [
3+
"./"
4+
],
5+
"editor.inlayHints.enabled": "off",
6+
"editor.defaultFormatter": "denoland.vscode-deno",
7+
"[javascript]": {
8+
"editor.defaultFormatter": "denoland.vscode-deno"
9+
},
10+
"[javascriptreact]": {
11+
"editor.defaultFormatter": "denoland.vscode-deno"
12+
},
13+
"[json]": {
14+
"editor.defaultFormatter": "denoland.vscode-deno"
15+
},
16+
"[jsonc]": {
17+
"editor.defaultFormatter": "denoland.vscode-deno"
18+
},
19+
"[typescript]": {
20+
"editor.defaultFormatter": "denoland.vscode-deno"
21+
},
22+
"[typescriptreact]": {
23+
"editor.defaultFormatter": "denoland.vscode-deno"
24+
},
25+
"thunder-client.saveToWorkspace": true
26+
}

CLAUDE.md

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# CLAUDE.md - Development Guide
2+
3+
## Commands
4+
- **Run**: `deno run -E` or `dr` (with aliases)
5+
- **Dev**: `deno task dev` (app-specific, e.g., `deno run -REN --watch main.ts`)
6+
- **Test**: `deno test` (all tests)
7+
- **Test single file**: `deno test path/to/test_file.ts`
8+
- **Format**: `deno fmt`
9+
10+
## Code Style
11+
- **Line width**: 120 characters
12+
- **No semicolons**
13+
- **Imports**: Use JSR (`jsr:@package/name@1`) or npm (`npm:@package/name@1`) in `deno.json` and `@package/name` on imports
14+
- **Path aliases**: `#/` for current directory
15+
- **Types**: Use `@pkgs/types` in `deno.json`, use Zod for validation
16+
- **Naming**: camelCase for functions/variables, PascalCase for classes/interfaces
17+
- **Error handling**: Use try/catch with console.error for logging
18+
19+
## Project Structure
20+
- Monorepo with workspaces: `apps/*`, `pkgs/*`
21+
- Test files named with `_test.ts` suffix
22+
- Tests follow pattern: `Deno.test(function testName() {...})`
23+
- Each package has its own deno.json with specific dependencies
24+
25+
## Helpful Aliases
26+
- `d`: deno
27+
- `dt`: deno task
28+
- `dr`: deno run -E
29+
- `ds`: deno task start

Contributing.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Contributing
2+
3+
## Shell helpers
4+
5+
For this repo we have a few zsh shell helpers that are used to make development easier.
6+
To make use of them you can add the following to your `.zshrc` file in your preferred way.
7+
8+
```zsh
9+
autoload -U add-zsh-hook
10+
11+
function load_aliases() {
12+
[ -f ./.aliases ] && [ "$PWD" != "$HOME" ] && source ./.aliases
13+
}
14+
15+
load_aliases
16+
add-zsh-hook chpwd load_aliases
17+
18+
```

apps/raycast-ntfy/.gitignore

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
6+
# Raycast specific files
7+
raycast-env.d.ts
8+
.raycast-swift-build
9+
.swiftpm
10+
compiled_raycast_swift
11+
12+
# misc
13+
.DS_Store

apps/raycast-ntfy/CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# ntfy.sh Changelog
2+
3+
## [Initial Version] - {PR_MERGE_DATE}

apps/raycast-ntfy/README.md

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# raycast-ntfy
2+
3+
Send notifications to your devices using ntfy.sh
4+
For more information visit their [documentation][ntfy-doc]
5+
6+
> [!IMPORTANT]
7+
> Topics on ntfy.sh are public by default.
8+
9+
## Configuration
10+
11+
Set a topic that is difficult to guess to avoid your notifications being delivered to others.
12+
13+
I suggest generating a random id with [nanoid][nanoid-gen]
14+
> Example: ygJYwllDVqbY_I-iI0YVG
15+
16+
Then install the [ntfy app][ntfy-app] and subscribe to the topic on your phone.
17+
18+
## Privacy and self-hosting
19+
20+
Ntfy.sh is a public service, but you can also [host your own server][ntfy-self-host].
21+
If you want a fast way to setup the server I suggest trying their [Docker image][ntfy-docker]
22+
23+
## Notes
24+
25+
I am not the owner or maintainer of [ntfy.sh][ntfy], but I am always available to help.
26+
27+
## About Wés
28+
29+
I'm a web developer who loves the web and the javascript ecosystem, find me everywhere as @wesleycoder or at [guima.dev][guima]
30+
31+
[guima]: https://guima.dev
32+
[ntfy]: https://ntfy.sh/
33+
[ntfy-doc]: https://docs.ntfy.sh/
34+
[ntfy-app]: https://docs.ntfy.sh/#step-1-get-the-app
35+
[nanoid-gen]: https://nanoid.jormaechea.com.ar/
36+
[ntfy-docker]: https://docs.ntfy.sh/install/#docker
37+
[ntfy-self-host]: https://docs.ntfy.sh/install/

apps/raycast-ntfy/assets/phone.png

3.84 KB
Loading

apps/raycast-ntfy/biome.json

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
3+
"formatter": {
4+
"indentStyle": "space",
5+
"indentWidth": 2,
6+
"lineWidth": 120
7+
},
8+
"linter": {
9+
"rules": {
10+
"nursery": {
11+
"useSortedClasses": "warn"
12+
}
13+
}
14+
},
15+
"javascript": {
16+
"formatter": {
17+
"quoteStyle": "single",
18+
"semicolons": "asNeeded",
19+
"trailingCommas": "es5"
20+
}
21+
},
22+
"files": {
23+
"ignore": ["node_modules/**"]
24+
}
25+
}

0 commit comments

Comments
 (0)