{"id":15061100,"url":"https://github.com/diskuv/dkcoder","last_synced_at":"2025-04-10T06:36:31.187Z","repository":{"id":240181751,"uuid":"801831009","full_name":"diskuv/dkcoder","owner":"diskuv","description":"OCaml-based scripting for small utilities all the way to larger apps including games and production services. Supports LSP/IDE dev experience and transparent installation. Designed for both your own personal scripting and for SaaS/games/etc to distribute clients, CLIs and mod kits.","archived":false,"fork":false,"pushed_at":"2025-03-10T17:23:28.000Z","size":634,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"1.0","last_synced_at":"2025-03-24T07:40:17.618Z","etag":null,"topics":["installer","ocaml","scripting","scripting-games","services","webhooks"],"latest_commit_sha":null,"homepage":"https://diskuv.com/dksdk/coder/2024-intro-scripting/","language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/diskuv.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE-DKSDK","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-17T02:03:35.000Z","updated_at":"2025-03-10T17:22:43.000Z","dependencies_parsed_at":"2024-06-28T22:23:38.228Z","dependency_job_id":"bc73cbd7-3d3a-4500-91f6-89b54d313c6f","html_url":"https://github.com/diskuv/dkcoder","commit_stats":null,"previous_names":["diskuv/dkcoder"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diskuv%2Fdkcoder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diskuv%2Fdkcoder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diskuv%2Fdkcoder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diskuv%2Fdkcoder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diskuv","download_url":"https://codeload.github.com/diskuv/dkcoder/tar.gz/refs/heads/1.0","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248170667,"owners_count":21059231,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["installer","ocaml","scripting","scripting-games","services","webhooks"],"created_at":"2024-09-24T23:09:13.697Z","updated_at":"2025-04-10T06:36:31.154Z","avatar_url":"https://github.com/diskuv.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DkCoder - Scripting at Scale\n\n\u003e A few clicks from your web browser and four (4) minutes\n\u003e later you and your Windows and macOS users can start\n\u003e scripting with **DkCoder**. And all users,\n\u003e including glibc-based Linux desktop users, can use their\n\u003e Unix shells or Windows PowerShell. Nothing needs to be\n\u003e pre-installed on Windows and macOS. Just copy and paste\n\u003e two lines (you'll see examples soon) and your script is\n\u003e running and your project is editable with an LSP-capable\n\u003e IDE like Visual Studio Code.\n\u003e\n\u003e Unlike most scripting frameworks, DkCoder solves the problem of scale: you start with small scripts that do immediately useful things for you and your team, and when inevitably you need to expand, distribute or embed those scripts to make full-featured applications, you don't need to throw out what you have already written. DkCoder is a re-imagining of the scripting experience that re-uses the best historical ideas:\n\u003e\n\u003e 1. You don't write build files. *If that sounds like Unix /bin/sh or the Windows Command Prompt, that is intentional.*\n\u003e 1. Most files you write can be immediately run. *If that sounds like how Python scripts are almost indistinguishable from Python modules, or like JavaScript modules, that is intentional.*\n\u003e 1. Most files you write can be referenced with a fully-qualified name. *If that sounds like Java packages and how that has been proven to scale to large code bases, that is intentional.*\n\u003e 1. Your scripts play well together and don't bit rot. *It is conventional to add static typing (Typescript, mypy) when scripting projects get large. DkCoder has type-safety from Day One that is safer and easier to use.*\n\nThat quote was from the main documentation site \u003chttps://diskuv.com/dksdk/coder/2024-intro-scripting/\u003e.\n**You are highly encouraged to visit that site!**\n\n## Quick Start\n\nThe recommended way to execute DkCoder scripts is with the help of the `./dk` tool.\nThe `./dk` tool runs the build script you specify, downloading support files beforehand if necessary.\nAs a result, you can get up and running quickly without having to follow manual installation steps.\n*Gradle users: If that sounds like the easy-to-use Gradle Wrapper, that is intentional.*\n\nThe `./dk` tool is compatible with Windows PowerShell, macOS and glibc-based desktop Linux. It can also run on Windows Command Prompt if you invoke it with `.\\dk` rather than `./dk`.\n\nExample 1. The game of Snoke as a set of scripts:\n\n```sh\ngit clone --branch V0_2 https://gitlab.com/diskuv/samples/dkcoder/SanetteBogue.git\n\n./SanetteBogue/dk SanetteBogue_Snoke.Snoke\n```\n\nExample 2. The documentation site as a set of scripts (on Windows there is an alpha bug; rerun the `--serve` command if it fails the first time):\n\n```sh\ngit clone --branch V0_3 https://gitlab.com/diskuv/samples/dkcoder/DkHelloScript.git\n\n./DkHelloScript/dk DkHelloScript_Std.Y33Article --serve\n```\n\nExample 3. A production webhook microservice as a set of scripts:\n\n```sh\ngit clone --branch V0_3 https://gitlab.com/diskuv/samples/devops/DkSubscribeWebhook.git\n\n./DkSubscribeWebhook/dk DkSubscribeWebhook_Std.Subscriptions subscriptions-serve --help\n```\n\n## Installing\n\nIn Windows PowerShell, macOS and desktop Linux:\n\n```sh\ngit clone https://github.com/diskuv/dkcoder.git\ndkcoder/dk user.dkml.wrapper.upgrade HERE\n./dk dkml.wrapper.upgrade DONE\n```\n\nIn Windows Command Prompt:\n\n```dosbatch\ngit clone https://github.com/diskuv/dkcoder.git\ndkcoder\\dk user.dkml.wrapper.upgrade HERE\n.\\dk dkml.wrapper.upgrade DONE\n```\n\n## Quiet Mode\n\nAny command that ends in `Quiet`, like `./dk DkRun_Env.RunQuiet`, will not print messages while dk initializes itself.\nHowever, if `sudo` is required for elevation, then commands will be echoed to the terminal.\n\n## Licenses\n\nCopyright 2023 Diskuv, Inc.\n\nThe `./dk`, `./dk.cmd` and `__dk.cmake` build scripts (\"dk\") are\navailable under the Open Software License version 3.0,\n\u003chttps://opensource.org/license/osl-3-0-php/\u003e.\nA guide to the Open Software License version 3.0 is available at\n\u003chttps://rosenlaw.com/OSL3.0-explained.htm\u003e.\n\n`dk.cmd` downloads parts of the 7-Zip program. 7-Zip is licensed under the GNU LGPL license.\nThe source code for 7-Zip can be found at \u003cwww.7-zip.org\u003e. Attribute requirements are available at \u003chttps://www.7-zip.org/faq.html\u003e.\n\n\"dk\" downloads OCaml, codept and other binaries at first run and on each version upgrade.\nOCaml has a [LPGL2.1 license with Static Linking Exceptions](./LICENSE-LGPL21-ocaml).\ncodept has a [LPGL2.1 license with Static Linking Exceptions](./LICENSE-LGPL21-octachron).\nThe other binaries are DkSDK Coder Runtime Binaries © 2023 by Diskuv, Inc.\nThese DkSDK Coder Runtime Binaries are licensed under Attribution-NoDerivatives 4.0 International.\nTo view a copy of this license, visit \u003chttp://creativecommons.org/licenses/by-nd/4.0/\u003e.\n\n\"dk\" acts as a package manager; you run `./dk` and tell it what packages you want to download\nand run. These packages have independent licenses and you may be prompted to accept a license.\nThose licenses include but are not limited to:\n\n- The [DkSDK SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT](./LICENSE-DKSDK)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiskuv%2Fdkcoder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiskuv%2Fdkcoder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiskuv%2Fdkcoder/lists"}