easc-cli 1.1.37 → 1.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/opencode +4 -6
- package/bin/package.json +3 -0
- package/package.json +14 -119
- package/{script/postinstall.mjs → postinstall.mjs} +4 -4
- package/AGENTS.md +0 -27
- package/Dockerfile +0 -18
- package/README.md +0 -15
- package/bunfig.toml +0 -7
- package/charity-website/README.md +0 -252
- package/charity-website/admin/index.html +0 -299
- package/charity-website/package.json +0 -40
- package/charity-website/public/index.html +0 -265
- package/charity-website/src/css/admin.css +0 -710
- package/charity-website/src/css/style.css +0 -741
- package/charity-website/src/js/admin.js +0 -743
- package/charity-website/src/js/app.js +0 -444
- package/parsers-config.ts +0 -253
- package/script/build.ts +0 -172
- package/script/deploy.ts +0 -96
- package/script/publish-registries.ts +0 -187
- package/script/publish.ts +0 -70
- package/script/schema.ts +0 -47
- package/script/seed-e2e.ts +0 -50
- package/src/acp/README.md +0 -164
- package/src/acp/agent.ts +0 -1285
- package/src/acp/session.ts +0 -105
- package/src/acp/types.ts +0 -22
- package/src/agent/agent.ts +0 -332
- package/src/agent/generate.txt +0 -75
- package/src/agent/prompt/compaction.txt +0 -12
- package/src/agent/prompt/explore.txt +0 -18
- package/src/agent/prompt/summary.txt +0 -11
- package/src/agent/prompt/title.txt +0 -43
- package/src/auth/eliseart.ts +0 -76
- package/src/auth/index.ts +0 -73
- package/src/bun/index.ts +0 -134
- package/src/bus/bus-event.ts +0 -43
- package/src/bus/global.ts +0 -10
- package/src/bus/index.ts +0 -105
- package/src/cli/bootstrap.ts +0 -17
- package/src/cli/cmd/account.ts +0 -81
- package/src/cli/cmd/acp.ts +0 -69
- package/src/cli/cmd/agent.ts +0 -257
- package/src/cli/cmd/auth.ts +0 -427
- package/src/cli/cmd/cmd.ts +0 -7
- package/src/cli/cmd/debug/agent.ts +0 -166
- package/src/cli/cmd/debug/config.ts +0 -16
- package/src/cli/cmd/debug/file.ts +0 -97
- package/src/cli/cmd/debug/index.ts +0 -48
- package/src/cli/cmd/debug/lsp.ts +0 -52
- package/src/cli/cmd/debug/ripgrep.ts +0 -87
- package/src/cli/cmd/debug/scrap.ts +0 -16
- package/src/cli/cmd/debug/skill.ts +0 -16
- package/src/cli/cmd/debug/snapshot.ts +0 -52
- package/src/cli/cmd/export.ts +0 -88
- package/src/cli/cmd/generate.ts +0 -38
- package/src/cli/cmd/github.ts +0 -1548
- package/src/cli/cmd/import.ts +0 -98
- package/src/cli/cmd/mcp.ts +0 -827
- package/src/cli/cmd/models.ts +0 -77
- package/src/cli/cmd/pr.ts +0 -112
- package/src/cli/cmd/run.ts +0 -407
- package/src/cli/cmd/serve.ts +0 -20
- package/src/cli/cmd/session.ts +0 -135
- package/src/cli/cmd/stats.ts +0 -402
- package/src/cli/cmd/tui/app.tsx +0 -774
- package/src/cli/cmd/tui/attach.ts +0 -31
- package/src/cli/cmd/tui/component/border.tsx +0 -21
- package/src/cli/cmd/tui/component/dialog-agent.tsx +0 -31
- package/src/cli/cmd/tui/component/dialog-command.tsx +0 -148
- package/src/cli/cmd/tui/component/dialog-mcp.tsx +0 -86
- package/src/cli/cmd/tui/component/dialog-model.tsx +0 -234
- package/src/cli/cmd/tui/component/dialog-provider.tsx +0 -256
- package/src/cli/cmd/tui/component/dialog-session-list.tsx +0 -114
- package/src/cli/cmd/tui/component/dialog-session-rename.tsx +0 -31
- package/src/cli/cmd/tui/component/dialog-stash.tsx +0 -87
- package/src/cli/cmd/tui/component/dialog-status.tsx +0 -164
- package/src/cli/cmd/tui/component/dialog-supabase.tsx +0 -102
- package/src/cli/cmd/tui/component/dialog-tag.tsx +0 -44
- package/src/cli/cmd/tui/component/dialog-theme-list.tsx +0 -50
- package/src/cli/cmd/tui/component/logo.tsx +0 -88
- package/src/cli/cmd/tui/component/prompt/autocomplete.tsx +0 -653
- package/src/cli/cmd/tui/component/prompt/frecency.tsx +0 -89
- package/src/cli/cmd/tui/component/prompt/history.tsx +0 -108
- package/src/cli/cmd/tui/component/prompt/index.tsx +0 -1182
- package/src/cli/cmd/tui/component/prompt/stash.tsx +0 -101
- package/src/cli/cmd/tui/component/spinner.tsx +0 -16
- package/src/cli/cmd/tui/component/textarea-keybindings.ts +0 -73
- package/src/cli/cmd/tui/component/tips.tsx +0 -153
- package/src/cli/cmd/tui/component/todo-item.tsx +0 -32
- package/src/cli/cmd/tui/context/args.tsx +0 -14
- package/src/cli/cmd/tui/context/directory.ts +0 -13
- package/src/cli/cmd/tui/context/exit.tsx +0 -23
- package/src/cli/cmd/tui/context/helper.tsx +0 -25
- package/src/cli/cmd/tui/context/keybind.tsx +0 -101
- package/src/cli/cmd/tui/context/kv.tsx +0 -52
- package/src/cli/cmd/tui/context/local.tsx +0 -402
- package/src/cli/cmd/tui/context/prompt.tsx +0 -18
- package/src/cli/cmd/tui/context/route.tsx +0 -46
- package/src/cli/cmd/tui/context/sdk.tsx +0 -94
- package/src/cli/cmd/tui/context/sync.tsx +0 -445
- package/src/cli/cmd/tui/context/theme/aura.json +0 -69
- package/src/cli/cmd/tui/context/theme/ayu.json +0 -80
- package/src/cli/cmd/tui/context/theme/carbonfox.json +0 -248
- package/src/cli/cmd/tui/context/theme/catppuccin-frappe.json +0 -233
- package/src/cli/cmd/tui/context/theme/catppuccin-macchiato.json +0 -233
- package/src/cli/cmd/tui/context/theme/catppuccin.json +0 -112
- package/src/cli/cmd/tui/context/theme/cobalt2.json +0 -228
- package/src/cli/cmd/tui/context/theme/cursor.json +0 -249
- package/src/cli/cmd/tui/context/theme/dracula.json +0 -219
- package/src/cli/cmd/tui/context/theme/everforest.json +0 -241
- package/src/cli/cmd/tui/context/theme/flexoki.json +0 -237
- package/src/cli/cmd/tui/context/theme/github.json +0 -233
- package/src/cli/cmd/tui/context/theme/gruvbox.json +0 -95
- package/src/cli/cmd/tui/context/theme/kanagawa.json +0 -77
- package/src/cli/cmd/tui/context/theme/lucent-orng.json +0 -237
- package/src/cli/cmd/tui/context/theme/material.json +0 -235
- package/src/cli/cmd/tui/context/theme/matrix.json +0 -77
- package/src/cli/cmd/tui/context/theme/mercury.json +0 -252
- package/src/cli/cmd/tui/context/theme/monokai.json +0 -221
- package/src/cli/cmd/tui/context/theme/nightowl.json +0 -221
- package/src/cli/cmd/tui/context/theme/nord.json +0 -223
- package/src/cli/cmd/tui/context/theme/one-dark.json +0 -84
- package/src/cli/cmd/tui/context/theme/orng.json +0 -249
- package/src/cli/cmd/tui/context/theme/osaka-jade.json +0 -93
- package/src/cli/cmd/tui/context/theme/palenight.json +0 -222
- package/src/cli/cmd/tui/context/theme/rosepine.json +0 -234
- package/src/cli/cmd/tui/context/theme/solarized.json +0 -223
- package/src/cli/cmd/tui/context/theme/synthwave84.json +0 -226
- package/src/cli/cmd/tui/context/theme/tokyonight.json +0 -243
- package/src/cli/cmd/tui/context/theme/vercel.json +0 -245
- package/src/cli/cmd/tui/context/theme/vesper.json +0 -218
- package/src/cli/cmd/tui/context/theme/zenburn.json +0 -223
- package/src/cli/cmd/tui/context/theme.tsx +0 -1152
- package/src/cli/cmd/tui/event.ts +0 -48
- package/src/cli/cmd/tui/routes/home.tsx +0 -140
- package/src/cli/cmd/tui/routes/session/dialog-fork-from-timeline.tsx +0 -64
- package/src/cli/cmd/tui/routes/session/dialog-message.tsx +0 -109
- package/src/cli/cmd/tui/routes/session/dialog-subagent.tsx +0 -26
- package/src/cli/cmd/tui/routes/session/dialog-timeline.tsx +0 -47
- package/src/cli/cmd/tui/routes/session/dialog-tool.tsx +0 -63
- package/src/cli/cmd/tui/routes/session/footer.tsx +0 -129
- package/src/cli/cmd/tui/routes/session/header.tsx +0 -136
- package/src/cli/cmd/tui/routes/session/index.tsx +0 -2132
- package/src/cli/cmd/tui/routes/session/permission.tsx +0 -495
- package/src/cli/cmd/tui/routes/session/question.tsx +0 -435
- package/src/cli/cmd/tui/routes/session/sidebar.tsx +0 -313
- package/src/cli/cmd/tui/thread.ts +0 -165
- package/src/cli/cmd/tui/ui/dialog-alert.tsx +0 -57
- package/src/cli/cmd/tui/ui/dialog-confirm.tsx +0 -83
- package/src/cli/cmd/tui/ui/dialog-export-options.tsx +0 -204
- package/src/cli/cmd/tui/ui/dialog-help.tsx +0 -38
- package/src/cli/cmd/tui/ui/dialog-prompt.tsx +0 -77
- package/src/cli/cmd/tui/ui/dialog-select.tsx +0 -376
- package/src/cli/cmd/tui/ui/dialog.tsx +0 -167
- package/src/cli/cmd/tui/ui/link.tsx +0 -28
- package/src/cli/cmd/tui/ui/spinner.ts +0 -368
- package/src/cli/cmd/tui/ui/toast.tsx +0 -100
- package/src/cli/cmd/tui/util/clipboard.ts +0 -160
- package/src/cli/cmd/tui/util/editor.ts +0 -32
- package/src/cli/cmd/tui/util/signal.ts +0 -7
- package/src/cli/cmd/tui/util/terminal.ts +0 -114
- package/src/cli/cmd/tui/util/transcript.ts +0 -98
- package/src/cli/cmd/tui/worker.ts +0 -152
- package/src/cli/cmd/uninstall.ts +0 -357
- package/src/cli/cmd/upgrade.ts +0 -73
- package/src/cli/cmd/web.ts +0 -81
- package/src/cli/error.ts +0 -57
- package/src/cli/network.ts +0 -53
- package/src/cli/ui.ts +0 -84
- package/src/cli/upgrade.ts +0 -25
- package/src/command/index.ts +0 -131
- package/src/command/template/initialize.txt +0 -10
- package/src/command/template/review.txt +0 -99
- package/src/config/config.ts +0 -1361
- package/src/config/markdown.ts +0 -93
- package/src/env/index.ts +0 -26
- package/src/file/ignore.ts +0 -83
- package/src/file/index.ts +0 -411
- package/src/file/ripgrep.ts +0 -407
- package/src/file/time.ts +0 -64
- package/src/file/watcher.ts +0 -127
- package/src/flag/flag.ts +0 -54
- package/src/format/formatter.ts +0 -342
- package/src/format/index.ts +0 -137
- package/src/global/index.ts +0 -55
- package/src/id/id.ts +0 -83
- package/src/ide/index.ts +0 -76
- package/src/index.ts +0 -162
- package/src/installation/index.ts +0 -246
- package/src/lsp/client.ts +0 -252
- package/src/lsp/index.ts +0 -485
- package/src/lsp/language.ts +0 -119
- package/src/lsp/server.ts +0 -2046
- package/src/mcp/auth.ts +0 -135
- package/src/mcp/index.ts +0 -931
- package/src/mcp/oauth-callback.ts +0 -200
- package/src/mcp/oauth-provider.ts +0 -154
- package/src/patch/index.ts +0 -680
- package/src/permission/arity.ts +0 -163
- package/src/permission/index.ts +0 -210
- package/src/permission/next.ts +0 -269
- package/src/plugin/codex.ts +0 -493
- package/src/plugin/copilot.ts +0 -269
- package/src/plugin/index.ts +0 -136
- package/src/project/bootstrap.ts +0 -35
- package/src/project/instance.ts +0 -91
- package/src/project/project.ts +0 -339
- package/src/project/state.ts +0 -66
- package/src/project/vcs.ts +0 -76
- package/src/provider/auth.ts +0 -147
- package/src/provider/models-macro.ts +0 -11
- package/src/provider/models.ts +0 -112
- package/src/provider/provider.ts +0 -1435
- package/src/provider/sdk/openai-compatible/src/README.md +0 -5
- package/src/provider/sdk/openai-compatible/src/index.ts +0 -2
- package/src/provider/sdk/openai-compatible/src/openai-compatible-provider.ts +0 -100
- package/src/provider/sdk/openai-compatible/src/responses/convert-to-openai-responses-input.ts +0 -303
- package/src/provider/sdk/openai-compatible/src/responses/map-openai-responses-finish-reason.ts +0 -22
- package/src/provider/sdk/openai-compatible/src/responses/openai-config.ts +0 -18
- package/src/provider/sdk/openai-compatible/src/responses/openai-error.ts +0 -22
- package/src/provider/sdk/openai-compatible/src/responses/openai-responses-api-types.ts +0 -207
- package/src/provider/sdk/openai-compatible/src/responses/openai-responses-language-model.ts +0 -1732
- package/src/provider/sdk/openai-compatible/src/responses/openai-responses-prepare-tools.ts +0 -177
- package/src/provider/sdk/openai-compatible/src/responses/openai-responses-settings.ts +0 -1
- package/src/provider/sdk/openai-compatible/src/responses/tool/code-interpreter.ts +0 -88
- package/src/provider/sdk/openai-compatible/src/responses/tool/file-search.ts +0 -128
- package/src/provider/sdk/openai-compatible/src/responses/tool/image-generation.ts +0 -115
- package/src/provider/sdk/openai-compatible/src/responses/tool/local-shell.ts +0 -65
- package/src/provider/sdk/openai-compatible/src/responses/tool/web-search-preview.ts +0 -104
- package/src/provider/sdk/openai-compatible/src/responses/tool/web-search.ts +0 -103
- package/src/provider/transform.ts +0 -733
- package/src/pty/index.ts +0 -232
- package/src/question/index.ts +0 -171
- package/src/scheduler/index.ts +0 -61
- package/src/server/error.ts +0 -36
- package/src/server/event.ts +0 -7
- package/src/server/mdns.ts +0 -59
- package/src/server/routes/config.ts +0 -92
- package/src/server/routes/experimental.ts +0 -208
- package/src/server/routes/file.ts +0 -197
- package/src/server/routes/global.ts +0 -135
- package/src/server/routes/mcp.ts +0 -361
- package/src/server/routes/permission.ts +0 -68
- package/src/server/routes/project.ts +0 -82
- package/src/server/routes/provider.ts +0 -165
- package/src/server/routes/pty.ts +0 -169
- package/src/server/routes/question.ts +0 -98
- package/src/server/routes/session.ts +0 -935
- package/src/server/routes/tui.ts +0 -379
- package/src/server/server.ts +0 -573
- package/src/session/compaction.ts +0 -225
- package/src/session/index.ts +0 -488
- package/src/session/llm.ts +0 -279
- package/src/session/message-v2.ts +0 -702
- package/src/session/message.ts +0 -189
- package/src/session/processor.ts +0 -406
- package/src/session/prompt/anthropic-20250930.txt +0 -166
- package/src/session/prompt/anthropic.txt +0 -105
- package/src/session/prompt/anthropic_spoof.txt +0 -1
- package/src/session/prompt/beast.txt +0 -147
- package/src/session/prompt/build-switch.txt +0 -5
- package/src/session/prompt/codex_header.txt +0 -79
- package/src/session/prompt/copilot-gpt-5.txt +0 -143
- package/src/session/prompt/gemini.txt +0 -155
- package/src/session/prompt/max-steps.txt +0 -16
- package/src/session/prompt/plan-reminder-anthropic.txt +0 -67
- package/src/session/prompt/plan.txt +0 -26
- package/src/session/prompt/qwen.txt +0 -109
- package/src/session/prompt.ts +0 -1820
- package/src/session/retry.ts +0 -90
- package/src/session/revert.ts +0 -108
- package/src/session/status.ts +0 -76
- package/src/session/summary.ts +0 -150
- package/src/session/system.ts +0 -152
- package/src/session/todo.ts +0 -37
- package/src/share/share-next.ts +0 -200
- package/src/share/share.ts +0 -92
- package/src/shell/shell.ts +0 -67
- package/src/skill/index.ts +0 -1
- package/src/skill/skill.ts +0 -136
- package/src/snapshot/index.ts +0 -236
- package/src/storage/storage.ts +0 -227
- package/src/tool/apply_patch.ts +0 -269
- package/src/tool/apply_patch.txt +0 -33
- package/src/tool/bash.ts +0 -259
- package/src/tool/bash.txt +0 -115
- package/src/tool/batch.ts +0 -175
- package/src/tool/batch.txt +0 -24
- package/src/tool/codesearch.ts +0 -132
- package/src/tool/codesearch.txt +0 -12
- package/src/tool/edit.ts +0 -645
- package/src/tool/edit.txt +0 -10
- package/src/tool/external-directory.ts +0 -32
- package/src/tool/glob.ts +0 -77
- package/src/tool/glob.txt +0 -6
- package/src/tool/grep.ts +0 -154
- package/src/tool/grep.txt +0 -8
- package/src/tool/invalid.ts +0 -17
- package/src/tool/ls.ts +0 -121
- package/src/tool/ls.txt +0 -1
- package/src/tool/lsp.ts +0 -96
- package/src/tool/lsp.txt +0 -19
- package/src/tool/multiedit.ts +0 -46
- package/src/tool/multiedit.txt +0 -41
- package/src/tool/plan-enter.txt +0 -14
- package/src/tool/plan-exit.txt +0 -13
- package/src/tool/plan.ts +0 -130
- package/src/tool/question.ts +0 -33
- package/src/tool/question.txt +0 -10
- package/src/tool/read.ts +0 -202
- package/src/tool/read.txt +0 -12
- package/src/tool/registry.ts +0 -164
- package/src/tool/skill.ts +0 -75
- package/src/tool/task.ts +0 -188
- package/src/tool/task.txt +0 -60
- package/src/tool/todo.ts +0 -53
- package/src/tool/todoread.txt +0 -14
- package/src/tool/todowrite.txt +0 -167
- package/src/tool/tool.ts +0 -88
- package/src/tool/truncation.ts +0 -106
- package/src/tool/webfetch.ts +0 -182
- package/src/tool/webfetch.txt +0 -13
- package/src/tool/websearch.ts +0 -150
- package/src/tool/websearch.txt +0 -14
- package/src/tool/write.ts +0 -80
- package/src/tool/write.txt +0 -8
- package/src/util/archive.ts +0 -16
- package/src/util/color.ts +0 -19
- package/src/util/context.ts +0 -25
- package/src/util/defer.ts +0 -12
- package/src/util/eventloop.ts +0 -20
- package/src/util/filesystem.ts +0 -93
- package/src/util/fn.ts +0 -11
- package/src/util/format.ts +0 -20
- package/src/util/iife.ts +0 -3
- package/src/util/keybind.ts +0 -103
- package/src/util/lazy.ts +0 -18
- package/src/util/locale.ts +0 -81
- package/src/util/lock.ts +0 -98
- package/src/util/log.ts +0 -180
- package/src/util/queue.ts +0 -32
- package/src/util/rpc.ts +0 -66
- package/src/util/scrap.ts +0 -10
- package/src/util/signal.ts +0 -12
- package/src/util/timeout.ts +0 -14
- package/src/util/token.ts +0 -7
- package/src/util/wildcard.ts +0 -56
- package/src/worktree/index.ts +0 -424
- package/sst-env.d.ts +0 -9
- package/test/acp/event-subscription.test.ts +0 -436
- package/test/agent/agent.test.ts +0 -638
- package/test/bun.test.ts +0 -53
- package/test/cli/github-action.test.ts +0 -129
- package/test/cli/github-remote.test.ts +0 -80
- package/test/cli/tui/transcript.test.ts +0 -297
- package/test/config/agent-color.test.ts +0 -66
- package/test/config/config.test.ts +0 -1414
- package/test/config/fixtures/empty-frontmatter.md +0 -4
- package/test/config/fixtures/frontmatter.md +0 -28
- package/test/config/fixtures/no-frontmatter.md +0 -1
- package/test/config/markdown.test.ts +0 -192
- package/test/file/ignore.test.ts +0 -10
- package/test/file/path-traversal.test.ts +0 -198
- package/test/fixture/fixture.ts +0 -45
- package/test/fixture/lsp/fake-lsp-server.js +0 -77
- package/test/ide/ide.test.ts +0 -82
- package/test/keybind.test.ts +0 -421
- package/test/lsp/client.test.ts +0 -95
- package/test/mcp/headers.test.ts +0 -153
- package/test/mcp/oauth-browser.test.ts +0 -261
- package/test/patch/patch.test.ts +0 -348
- package/test/permission/arity.test.ts +0 -33
- package/test/permission/next.test.ts +0 -652
- package/test/permission-task.test.ts +0 -319
- package/test/plugin/codex.test.ts +0 -123
- package/test/preload.ts +0 -65
- package/test/project/project.test.ts +0 -120
- package/test/provider/amazon-bedrock.test.ts +0 -268
- package/test/provider/gitlab-duo.test.ts +0 -286
- package/test/provider/provider.test.ts +0 -2149
- package/test/provider/transform.test.ts +0 -1596
- package/test/question/question.test.ts +0 -300
- package/test/scheduler.test.ts +0 -73
- package/test/server/session-list.test.ts +0 -39
- package/test/server/session-select.test.ts +0 -78
- package/test/session/compaction.test.ts +0 -293
- package/test/session/llm.test.ts +0 -90
- package/test/session/message-v2.test.ts +0 -662
- package/test/session/retry.test.ts +0 -131
- package/test/session/revert-compact.test.ts +0 -285
- package/test/session/session.test.ts +0 -71
- package/test/skill/skill.test.ts +0 -185
- package/test/snapshot/snapshot.test.ts +0 -939
- package/test/tool/__snapshots__/tool.test.ts.snap +0 -9
- package/test/tool/apply_patch.test.ts +0 -499
- package/test/tool/bash.test.ts +0 -320
- package/test/tool/external-directory.test.ts +0 -126
- package/test/tool/fixtures/large-image.png +0 -0
- package/test/tool/fixtures/models-api.json +0 -33453
- package/test/tool/grep.test.ts +0 -109
- package/test/tool/question.test.ts +0 -105
- package/test/tool/read.test.ts +0 -332
- package/test/tool/registry.test.ts +0 -76
- package/test/tool/truncation.test.ts +0 -159
- package/test/util/filesystem.test.ts +0 -39
- package/test/util/format.test.ts +0 -59
- package/test/util/iife.test.ts +0 -36
- package/test/util/lazy.test.ts +0 -50
- package/test/util/lock.test.ts +0 -72
- package/test/util/timeout.test.ts +0 -21
- package/test/util/wildcard.test.ts +0 -75
- package/tsconfig.json +0 -16
package/bin/opencode
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { fileURLToPath } from "url"
|
|
3
|
+
const childProcess = require("child_process")
|
|
4
|
+
const fs = require("fs")
|
|
5
|
+
const path = require("path")
|
|
6
|
+
const os = require("os")
|
|
8
7
|
|
|
9
8
|
function run(target) {
|
|
10
9
|
const result = childProcess.spawnSync(target, process.argv.slice(2), {
|
|
@@ -23,7 +22,6 @@ if (envPath) {
|
|
|
23
22
|
run(envPath)
|
|
24
23
|
}
|
|
25
24
|
|
|
26
|
-
const __filename = fileURLToPath(import.meta.url)
|
|
27
25
|
const scriptPath = fs.realpathSync(__filename)
|
|
28
26
|
const scriptDir = path.dirname(scriptPath)
|
|
29
27
|
|
package/bin/package.json
ADDED
package/package.json
CHANGED
|
@@ -1,128 +1,23 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://json.schemastore.org/package.json",
|
|
3
|
-
"version": "1.1.37",
|
|
4
2
|
"name": "easc-cli",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"private": false,
|
|
8
|
-
"scripts": {
|
|
9
|
-
"typecheck": "tsgo --noEmit",
|
|
10
|
-
"test": "bun test",
|
|
11
|
-
"build": "bun run script/build.ts",
|
|
12
|
-
"dev": "bun run --conditions=browser ./src/index.ts",
|
|
13
|
-
"random": "echo 'Random script updated at $(date)' && echo 'Change queued successfully' && echo 'Another change made' && echo 'Yet another change' && echo 'One more change' && echo 'Final change' && echo 'Another final change' && echo 'Yet another final change'",
|
|
14
|
-
"clean": "echo 'Cleaning up...' && rm -rf node_modules dist",
|
|
15
|
-
"lint": "echo 'Running lint checks...' && bun test --coverage",
|
|
16
|
-
"format": "echo 'Formatting code...' && bun run --prettier --write src/**/*.ts",
|
|
17
|
-
"docs": "echo 'Generating documentation...' && find src -name '*.ts' -exec echo 'Processing: {}' \\;",
|
|
18
|
-
"deploy": "echo 'Deploying application...' && bun run build && echo 'Deployment completed successfully'"
|
|
19
|
-
},
|
|
20
3
|
"bin": {
|
|
21
4
|
"easc": "./bin/opencode"
|
|
22
5
|
},
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
},
|
|
26
|
-
"devDependencies": {
|
|
27
|
-
"@babel/core": "7.28.4",
|
|
28
|
-
"@octokit/webhooks-types": "7.6.1",
|
|
29
|
-
"@eliseart.ai/script": "workspace:*",
|
|
30
|
-
"@parcel/watcher-darwin-arm64": "2.5.1",
|
|
31
|
-
"@parcel/watcher-darwin-x64": "2.5.1",
|
|
32
|
-
"@parcel/watcher-linux-arm64-glibc": "2.5.1",
|
|
33
|
-
"@parcel/watcher-linux-arm64-musl": "2.5.1",
|
|
34
|
-
"@parcel/watcher-linux-x64-glibc": "2.5.1",
|
|
35
|
-
"@parcel/watcher-linux-x64-musl": "2.5.1",
|
|
36
|
-
"@parcel/watcher-win32-x64": "2.5.1",
|
|
37
|
-
"@standard-schema/spec": "1.0.0",
|
|
38
|
-
"@tsconfig/bun": "catalog:",
|
|
39
|
-
"@types/babel__core": "7.20.5",
|
|
40
|
-
"@types/bun": "catalog:",
|
|
41
|
-
"@types/turndown": "5.0.5",
|
|
42
|
-
"@types/yargs": "17.0.33",
|
|
43
|
-
"@typescript/native-preview": "catalog:",
|
|
44
|
-
"typescript": "catalog:",
|
|
45
|
-
"vscode-languageserver-types": "3.17.5",
|
|
46
|
-
"why-is-node-running": "3.2.2",
|
|
47
|
-
"zod-to-json-schema": "3.24.5"
|
|
48
|
-
},
|
|
49
|
-
"dependencies": {
|
|
50
|
-
"@actions/core": "1.11.1",
|
|
51
|
-
"@actions/github": "6.0.1",
|
|
52
|
-
"@agentclientprotocol/sdk": "0.5.1",
|
|
53
|
-
"@ai-sdk/amazon-bedrock": "3.0.73",
|
|
54
|
-
"@ai-sdk/anthropic": "2.0.57",
|
|
55
|
-
"@ai-sdk/azure": "2.0.91",
|
|
56
|
-
"@ai-sdk/cerebras": "1.0.34",
|
|
57
|
-
"@ai-sdk/cohere": "2.0.22",
|
|
58
|
-
"@ai-sdk/deepinfra": "1.0.31",
|
|
59
|
-
"@ai-sdk/gateway": "2.0.25",
|
|
60
|
-
"@ai-sdk/google": "2.0.52",
|
|
61
|
-
"@ai-sdk/google-vertex": "3.0.97",
|
|
62
|
-
"@ai-sdk/groq": "2.0.34",
|
|
63
|
-
"@ai-sdk/mistral": "2.0.27",
|
|
64
|
-
"@ai-sdk/openai": "2.0.89",
|
|
65
|
-
"@ai-sdk/openai-compatible": "1.0.30",
|
|
66
|
-
"@ai-sdk/perplexity": "2.0.23",
|
|
67
|
-
"@ai-sdk/provider": "2.0.1",
|
|
68
|
-
"@ai-sdk/provider-utils": "3.0.20",
|
|
69
|
-
"@ai-sdk/togetherai": "1.0.31",
|
|
70
|
-
"@ai-sdk/vercel": "1.0.31",
|
|
71
|
-
"@ai-sdk/xai": "2.0.51",
|
|
72
|
-
"@clack/prompts": "1.0.0-alpha.1",
|
|
73
|
-
"@eliseart.ai/plugin": "workspace:*",
|
|
74
|
-
"@eliseart.ai/sdk": "workspace:*",
|
|
75
|
-
"@eliseart.ai/util": "workspace:*",
|
|
76
|
-
"@gitlab/gitlab-ai-provider": "3.1.2",
|
|
77
|
-
"@hono/standard-validator": "0.1.5",
|
|
78
|
-
"@hono/zod-validator": "catalog:",
|
|
79
|
-
"@modelcontextprotocol/sdk": "1.25.2",
|
|
80
|
-
"@octokit/graphql": "9.0.2",
|
|
81
|
-
"@octokit/rest": "catalog:",
|
|
82
|
-
"@openauthjs/openauth": "catalog:",
|
|
83
|
-
"@openrouter/ai-sdk-provider": "1.5.2",
|
|
84
|
-
"@opentui/core": "0.1.74",
|
|
85
|
-
"@opentui/solid": "0.1.74",
|
|
86
|
-
"@parcel/watcher": "2.5.1",
|
|
87
|
-
"@pierre/diffs": "catalog:",
|
|
88
|
-
"@solid-primitives/event-bus": "1.1.2",
|
|
89
|
-
"@solid-primitives/scheduled": "1.5.2",
|
|
90
|
-
"@zip.js/zip.js": "2.7.62",
|
|
91
|
-
"ai": "catalog:",
|
|
92
|
-
"bonjour-service": "1.3.0",
|
|
93
|
-
"bun-pty": "0.4.4",
|
|
94
|
-
"chokidar": "4.0.3",
|
|
95
|
-
"clipboardy": "4.0.0",
|
|
96
|
-
"decimal.js": "10.5.0",
|
|
97
|
-
"diff": "catalog:",
|
|
98
|
-
"fuzzysort": "3.1.0",
|
|
99
|
-
"gray-matter": "4.0.3",
|
|
100
|
-
"hono": "catalog:",
|
|
101
|
-
"hono-openapi": "catalog:",
|
|
102
|
-
"ignore": "7.0.5",
|
|
103
|
-
"jsonc-parser": "3.3.1",
|
|
104
|
-
"minimatch": "10.0.3",
|
|
105
|
-
"open": "10.1.2",
|
|
106
|
-
"opentui-spinner": "0.0.6",
|
|
107
|
-
"partial-json": "0.1.7",
|
|
108
|
-
"remeda": "catalog:",
|
|
109
|
-
"solid-js": "catalog:",
|
|
110
|
-
"strip-ansi": "7.1.2",
|
|
111
|
-
"tree-sitter-bash": "0.25.0",
|
|
112
|
-
"turndown": "7.2.0",
|
|
113
|
-
"ulid": "catalog:",
|
|
114
|
-
"vscode-jsonrpc": "8.2.1",
|
|
115
|
-
"web-tree-sitter": "0.25.10",
|
|
116
|
-
"xdg-basedir": "5.1.0",
|
|
117
|
-
"yargs": "18.0.0",
|
|
118
|
-
"zod": "catalog:",
|
|
119
|
-
"zod-to-json-schema": "3.24.5"
|
|
6
|
+
"scripts": {
|
|
7
|
+
"postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
|
|
120
8
|
},
|
|
9
|
+
"version": "1.1.41",
|
|
121
10
|
"optionalDependencies": {
|
|
122
|
-
"easc-linux-
|
|
123
|
-
"easc-linux-
|
|
124
|
-
"easc-
|
|
125
|
-
"easc-
|
|
126
|
-
"easc-
|
|
11
|
+
"easc-linux-arm64": "1.1.41",
|
|
12
|
+
"easc-linux-x64": "1.1.41",
|
|
13
|
+
"easc-linux-x64-baseline": "1.1.41",
|
|
14
|
+
"easc-linux-arm64-musl": "1.1.41",
|
|
15
|
+
"easc-linux-x64-musl": "1.1.41",
|
|
16
|
+
"easc-linux-x64-baseline-musl": "1.1.41",
|
|
17
|
+
"easc-darwin-arm64": "1.1.41",
|
|
18
|
+
"easc-darwin-x64": "1.1.41",
|
|
19
|
+
"easc-darwin-x64-baseline": "1.1.41",
|
|
20
|
+
"easc-windows-x64": "1.1.41",
|
|
21
|
+
"easc-windows-x64-baseline": "1.1.41"
|
|
127
22
|
}
|
|
128
23
|
}
|
|
@@ -49,8 +49,8 @@ function detectPlatformAndArch() {
|
|
|
49
49
|
|
|
50
50
|
function findBinary() {
|
|
51
51
|
const { platform, arch } = detectPlatformAndArch()
|
|
52
|
-
const packageName = `
|
|
53
|
-
const binaryName = platform === "windows" ? "
|
|
52
|
+
const packageName = `easc-${platform}-${arch}`
|
|
53
|
+
const binaryName = platform === "windows" ? "easc.exe" : "easc"
|
|
54
54
|
|
|
55
55
|
try {
|
|
56
56
|
// Use require.resolve to find the package
|
|
@@ -89,7 +89,7 @@ function symlinkBinary(sourcePath, binaryName) {
|
|
|
89
89
|
const { targetPath } = prepareBinDirectory(binaryName)
|
|
90
90
|
|
|
91
91
|
fs.symlinkSync(sourcePath, targetPath)
|
|
92
|
-
console.log(`
|
|
92
|
+
console.log(`easc binary symlinked: ${targetPath} -> ${sourcePath}`)
|
|
93
93
|
|
|
94
94
|
// Verify the file exists after operation
|
|
95
95
|
if (!fs.existsSync(targetPath)) {
|
|
@@ -112,7 +112,7 @@ async function main() {
|
|
|
112
112
|
console.log(`Platform binary verified at: ${binaryPath}`)
|
|
113
113
|
console.log("Wrapper script will handle binary execution")
|
|
114
114
|
} catch (error) {
|
|
115
|
-
console.error("Failed to setup
|
|
115
|
+
console.error("Failed to setup easc binary:", error.message)
|
|
116
116
|
process.exit(1)
|
|
117
117
|
}
|
|
118
118
|
}
|
package/AGENTS.md
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# opencode agent guidelines
|
|
2
|
-
|
|
3
|
-
## Build/Test Commands
|
|
4
|
-
|
|
5
|
-
- **Install**: `bun install`
|
|
6
|
-
- **Run**: `bun run --conditions=browser ./src/index.ts`
|
|
7
|
-
- **Typecheck**: `bun run typecheck` (npm run typecheck)
|
|
8
|
-
- **Test**: `bun test` (runs all tests)
|
|
9
|
-
- **Single test**: `bun test test/tool/tool.test.ts` (specific test file)
|
|
10
|
-
|
|
11
|
-
## Code Style
|
|
12
|
-
|
|
13
|
-
- **Runtime**: Bun with TypeScript ESM modules
|
|
14
|
-
- **Imports**: Use relative imports for local modules, named imports preferred
|
|
15
|
-
- **Types**: Zod schemas for validation, TypeScript interfaces for structure
|
|
16
|
-
- **Naming**: camelCase for variables/functions, PascalCase for classes/namespaces
|
|
17
|
-
- **Error handling**: Use Result patterns, avoid throwing exceptions in tools
|
|
18
|
-
- **File structure**: Namespace-based organization (e.g., `Tool.define()`, `Session.create()`)
|
|
19
|
-
|
|
20
|
-
## Architecture
|
|
21
|
-
|
|
22
|
-
- **Tools**: Implement `Tool.Info` interface with `execute()` method
|
|
23
|
-
- **Context**: Pass `sessionID` in tool context, use `App.provide()` for DI
|
|
24
|
-
- **Validation**: All inputs validated with Zod schemas
|
|
25
|
-
- **Logging**: Use `Log.create({ service: "name" })` pattern
|
|
26
|
-
- **Storage**: Use `Storage` namespace for persistence
|
|
27
|
-
- **API Client**: The TypeScript TUI (built with SolidJS + OpenTUI) communicates with the OpenCode server using `@eliseart.ai/sdk`. When adding/modifying server endpoints in `packages/opencode/src/server/server.ts`, run `./script/generate.ts` to regenerate the SDK and related files.
|
package/Dockerfile
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
FROM alpine AS base
|
|
2
|
-
|
|
3
|
-
# Disable the runtime transpiler cache by default inside Docker containers.
|
|
4
|
-
# On ephemeral containers, the cache is not useful
|
|
5
|
-
ARG BUN_RUNTIME_TRANSPILER_CACHE_PATH=0
|
|
6
|
-
ENV BUN_RUNTIME_TRANSPILER_CACHE_PATH=${BUN_RUNTIME_TRANSPILER_CACHE_PATH}
|
|
7
|
-
RUN apk add libgcc libstdc++ ripgrep
|
|
8
|
-
|
|
9
|
-
FROM base AS build-amd64
|
|
10
|
-
COPY dist/opencode-linux-x64-baseline-musl/bin/opencode /usr/local/bin/opencode
|
|
11
|
-
|
|
12
|
-
FROM base AS build-arm64
|
|
13
|
-
COPY dist/opencode-linux-arm64-musl/bin/opencode /usr/local/bin/opencode
|
|
14
|
-
|
|
15
|
-
ARG TARGETARCH
|
|
16
|
-
FROM build-${TARGETARCH}
|
|
17
|
-
RUN opencode --version
|
|
18
|
-
ENTRYPOINT ["opencode"]
|
package/README.md
DELETED
package/bunfig.toml
DELETED
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
# CharityHub - A Modern Charity Donation Platform
|
|
2
|
-
|
|
3
|
-
A comprehensive charity website built with vanilla HTML, CSS, JavaScript, and Supabase for the backend. This platform enables users to discover charities, make donations, and provides administrators with tools to manage the platform.
|
|
4
|
-
|
|
5
|
-
## Features
|
|
6
|
-
|
|
7
|
-
### For Users
|
|
8
|
-
|
|
9
|
-
- 🏠 **Responsive Home Page** with hero section and live statistics
|
|
10
|
-
- 🔍 **Charity Discovery** with search, filtering, and categorization
|
|
11
|
-
- 💝 **Secure Donation System** with multiple payment options
|
|
12
|
-
- 📊 **Progress Tracking** for each charity's fundraising goals
|
|
13
|
-
- 📱 **Mobile-First Design** that works on all devices
|
|
14
|
-
- ⭐ **Featured Charities** highlighting important causes
|
|
15
|
-
|
|
16
|
-
### For Administrators
|
|
17
|
-
|
|
18
|
-
- 📈 **Dashboard Analytics** with real-time statistics and charts
|
|
19
|
-
- 🏢 **Charity Management** (add, edit, delete charities)
|
|
20
|
-
- 💸 **Donation Tracking** and management
|
|
21
|
-
- 🏷️ **Category Management** for organizing causes
|
|
22
|
-
- ⚙️ **Settings Configuration** for platform customization
|
|
23
|
-
- 📊 **Data Export** capabilities
|
|
24
|
-
|
|
25
|
-
## Technology Stack
|
|
26
|
-
|
|
27
|
-
- **Frontend**: HTML5, CSS3, Vanilla JavaScript
|
|
28
|
-
- **Backend**: Supabase (PostgreSQL + Real-time APIs)
|
|
29
|
-
- **Database**: PostgreSQL with Row Level Security (RLS)
|
|
30
|
-
- **Charts**: Chart.js for data visualization
|
|
31
|
-
- **Icons**: Font Awesome
|
|
32
|
-
- **Styling**: Custom CSS with CSS Grid and Flexbox
|
|
33
|
-
|
|
34
|
-
## Project Structure
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
charity-website/
|
|
38
|
-
├── public/
|
|
39
|
-
│ └── index.html # Main website
|
|
40
|
-
├── admin/
|
|
41
|
-
│ └── index.html # Admin dashboard
|
|
42
|
-
├── src/
|
|
43
|
-
│ ├── css/
|
|
44
|
-
│ │ ├── style.css # Main website styles
|
|
45
|
-
│ │ └── admin.css # Admin dashboard styles
|
|
46
|
-
│ └── js/
|
|
47
|
-
│ ├── app.js # Main website JavaScript
|
|
48
|
-
│ └── admin.js # Admin dashboard JavaScript
|
|
49
|
-
├── data/ # Static data (if needed)
|
|
50
|
-
└── README.md # This file
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Database Schema
|
|
54
|
-
|
|
55
|
-
### Tables
|
|
56
|
-
|
|
57
|
-
- **charities**: Information about charitable organizations
|
|
58
|
-
- **donations**: Donation records and transactions
|
|
59
|
-
- **categories**: Charity categories for organization
|
|
60
|
-
|
|
61
|
-
### Key Features
|
|
62
|
-
|
|
63
|
-
- Row Level Security (RLS) for data protection
|
|
64
|
-
- Real-time updates using Supabase subscriptions
|
|
65
|
-
- Automatic timestamp tracking
|
|
66
|
-
- Foreign key relationships for data integrity
|
|
67
|
-
|
|
68
|
-
## Getting Started
|
|
69
|
-
|
|
70
|
-
### Prerequisites
|
|
71
|
-
|
|
72
|
-
- A Supabase account and project
|
|
73
|
-
- Modern web browser
|
|
74
|
-
- Local web server (optional, for development)
|
|
75
|
-
|
|
76
|
-
### Setup Instructions
|
|
77
|
-
|
|
78
|
-
1. **Clone or download the project files**
|
|
79
|
-
|
|
80
|
-
2. **Set up Supabase Database**
|
|
81
|
-
|
|
82
|
-
```sql
|
|
83
|
-
-- Run the provided migration scripts in your Supabase project
|
|
84
|
-
-- The schema includes charities, donations, and categories tables
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
3. **Configure Supabase Connection**
|
|
88
|
-
- Update the SUPABASE_URL and SUPABASE_ANON_KEY in both JavaScript files
|
|
89
|
-
- These can be found in your Supabase project settings
|
|
90
|
-
|
|
91
|
-
4. **Run the Website**
|
|
92
|
-
- Option 1: Open `public/index.html` directly in your browser
|
|
93
|
-
- Option 2: Use a local web server like `live-server` or Python's HTTP server
|
|
94
|
-
|
|
95
|
-
5. **Access Admin Dashboard**
|
|
96
|
-
- Navigate to `admin/index.html`
|
|
97
|
-
- Use the admin interface to manage charities and donations
|
|
98
|
-
|
|
99
|
-
## Configuration
|
|
100
|
-
|
|
101
|
-
### Supabase Setup
|
|
102
|
-
|
|
103
|
-
1. Create a new Supabase project
|
|
104
|
-
2. Run the provided SQL migrations
|
|
105
|
-
3. Enable Row Level Security (RLS)
|
|
106
|
-
4. Configure authentication settings if needed
|
|
107
|
-
5. Get your project URL and anon key
|
|
108
|
-
6. Update the JavaScript files with your credentials
|
|
109
|
-
|
|
110
|
-
### Environment Variables
|
|
111
|
-
|
|
112
|
-
For production deployment, consider using environment variables:
|
|
113
|
-
|
|
114
|
-
```javascript
|
|
115
|
-
const SUPABASE_URL = process.env.SUPABASE_URL || "your-url"
|
|
116
|
-
const SUPABASE_ANON_KEY = process.env.SUPABASE_ANON_KEY || "your-key"
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
## Features in Detail
|
|
120
|
-
|
|
121
|
-
### Charity Management
|
|
122
|
-
|
|
123
|
-
- Add/edit/delete charities
|
|
124
|
-
- Upload images and set goals
|
|
125
|
-
- Track fundraising progress
|
|
126
|
-
- Categorize by cause type
|
|
127
|
-
- Activate/deactivate charities
|
|
128
|
-
|
|
129
|
-
### Donation System
|
|
130
|
-
|
|
131
|
-
- Secure donation processing
|
|
132
|
-
- Multiple amount options
|
|
133
|
-
- Anonymous donation support
|
|
134
|
-
- Donor messages and recognition
|
|
135
|
-
- Real-time progress updates
|
|
136
|
-
|
|
137
|
-
### Search & Discovery
|
|
138
|
-
|
|
139
|
-
- Full-text search across charities
|
|
140
|
-
- Filter by category and progress
|
|
141
|
-
- Sort by various criteria
|
|
142
|
-
- Responsive grid layout
|
|
143
|
-
- Load more functionality
|
|
144
|
-
|
|
145
|
-
### Admin Dashboard
|
|
146
|
-
|
|
147
|
-
- Real-time statistics
|
|
148
|
-
- Interactive charts
|
|
149
|
-
- Recent activity feed
|
|
150
|
-
- Data management tools
|
|
151
|
-
- Export functionality
|
|
152
|
-
|
|
153
|
-
## Security Features
|
|
154
|
-
|
|
155
|
-
- Row Level Security (RLS) on all tables
|
|
156
|
-
- Input validation and sanitization
|
|
157
|
-
- XSS protection
|
|
158
|
-
- Secure API endpoints
|
|
159
|
-
- Anonymous donation options
|
|
160
|
-
- Data encryption in transit
|
|
161
|
-
|
|
162
|
-
## Performance Optimizations
|
|
163
|
-
|
|
164
|
-
- Lazy loading for images
|
|
165
|
-
- Debounced search functionality
|
|
166
|
-
- Efficient database queries
|
|
167
|
-
- Minimal external dependencies
|
|
168
|
-
- Optimized CSS and JavaScript
|
|
169
|
-
- Responsive image handling
|
|
170
|
-
|
|
171
|
-
## Browser Support
|
|
172
|
-
|
|
173
|
-
- Chrome 60+
|
|
174
|
-
- Firefox 55+
|
|
175
|
-
- Safari 12+
|
|
176
|
-
- Edge 79+
|
|
177
|
-
- Mobile browsers (iOS Safari, Chrome Mobile)
|
|
178
|
-
|
|
179
|
-
## Customization
|
|
180
|
-
|
|
181
|
-
### Adding New Features
|
|
182
|
-
|
|
183
|
-
1. Update the database schema if needed
|
|
184
|
-
2. Modify the frontend components
|
|
185
|
-
3. Update the admin dashboard
|
|
186
|
-
4. Test thoroughly
|
|
187
|
-
|
|
188
|
-
### Styling
|
|
189
|
-
|
|
190
|
-
- All styles are in `src/css/`
|
|
191
|
-
- Uses CSS custom properties for theming
|
|
192
|
-
- Responsive design with mobile-first approach
|
|
193
|
-
- Easy to customize colors and layouts
|
|
194
|
-
|
|
195
|
-
### Database Extensions
|
|
196
|
-
|
|
197
|
-
- Add new tables as needed
|
|
198
|
-
- Update RLS policies
|
|
199
|
-
- Modify the JavaScript API calls
|
|
200
|
-
- Update admin interface
|
|
201
|
-
|
|
202
|
-
## Deployment Options
|
|
203
|
-
|
|
204
|
-
### Static Hosting
|
|
205
|
-
|
|
206
|
-
- Netlify
|
|
207
|
-
- Vercel
|
|
208
|
-
- GitHub Pages
|
|
209
|
-
- AWS S3 + CloudFront
|
|
210
|
-
|
|
211
|
-
### Server Options
|
|
212
|
-
|
|
213
|
-
- Any static web server
|
|
214
|
-
- CDN for better performance
|
|
215
|
-
- Domain and SSL configuration
|
|
216
|
-
|
|
217
|
-
## Contributing
|
|
218
|
-
|
|
219
|
-
1. Fork the project
|
|
220
|
-
2. Create a feature branch
|
|
221
|
-
3. Make your changes
|
|
222
|
-
4. Test thoroughly
|
|
223
|
-
5. Submit a pull request
|
|
224
|
-
|
|
225
|
-
## Support
|
|
226
|
-
|
|
227
|
-
For questions or support:
|
|
228
|
-
|
|
229
|
-
- Check the documentation
|
|
230
|
-
- Review the code comments
|
|
231
|
-
- Test with the provided sample data
|
|
232
|
-
- Ensure Supabase is properly configured
|
|
233
|
-
|
|
234
|
-
## License
|
|
235
|
-
|
|
236
|
-
This project is open source and available under the MIT License.
|
|
237
|
-
|
|
238
|
-
## Future Enhancements
|
|
239
|
-
|
|
240
|
-
- [ ] Payment gateway integration (Stripe, PayPal)
|
|
241
|
-
- [ ] Email notifications for donors
|
|
242
|
-
- [ ] Social sharing features
|
|
243
|
-
- [ ] Advanced analytics and reporting
|
|
244
|
-
- [ ] Multi-language support
|
|
245
|
-
- [ ] Recurring donations
|
|
246
|
-
- [ ] Charity verification system
|
|
247
|
-
- [ ] Mobile app development
|
|
248
|
-
- [ ] API for third-party integrations
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
**Built with ❤️ for making the world a better place**
|