{"id":28812189,"url":"https://github.com/dawnlarsson/dawning-kit","last_synced_at":"2026-04-28T13:39:04.771Z","repository":{"id":298261539,"uuid":"999401352","full_name":"dawnlarsson/dawning-kit","owner":"dawnlarsson","description":"Foundational Software Development Kit. Zero dependency: C standard Library, Cross Architecture Assembler, Linux Distro.","archived":false,"fork":false,"pushed_at":"2026-02-13T21:43:03.000Z","size":233,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-15T18:44:03.750Z","etag":null,"topics":["binary","iot","library","linux","os","research"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dawnlarsson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["dawnlarsson"]}},"created_at":"2025-06-10T07:40:04.000Z","updated_at":"2026-02-13T21:43:07.000Z","dependencies_parsed_at":"2025-07-10T12:08:53.430Z","dependency_job_id":"111c894a-1d7c-4eae-9262-cf99c2cf3192","html_url":"https://github.com/dawnlarsson/dawning-kit","commit_stats":null,"previous_names":["dawnlarsson/dawning-devkit","dawnlarsson/dawning-kit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dawnlarsson/dawning-kit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dawnlarsson%2Fdawning-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dawnlarsson%2Fdawning-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dawnlarsson%2Fdawning-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dawnlarsson%2Fdawning-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dawnlarsson","download_url":"https://codeload.github.com/dawnlarsson/dawning-kit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dawnlarsson%2Fdawning-kit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32383782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T11:25:28.583Z","status":"ssl_error","status_checked_at":"2026-04-28T11:25:05.435Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["binary","iot","library","linux","os","research"],"created_at":"2025-06-18T14:39:08.728Z","updated_at":"2026-04-28T13:39:04.766Z","avatar_url":"https://github.com/dawnlarsson.png","language":"C","funding_links":["https://github.com/sponsors/dawnlarsson"],"categories":[],"sub_categories":[],"readme":"![Dawning Kit](https://github.com/user-attachments/assets/ad148eba-423f-4bc5-9d32-1e9005c8ebb7)\n\nDawning Kit, Foundational Software Development Kit. Zero dependency: C standard Library, Cross Architecture Assembler.\n\n## Overview\n- **`/bit`** Bit Kit: Provides foundational primitives for code generation in a bare bones UNIX environment.\n- **`/doc`** Doc Kit: HTML \u0026 Markdown utilities.\n- **`/linux`** Linux Kit: Modular OS primitives evolved from **Dawning EOS** - a complete experimental Linux distribution that proved zero-dependency, profile-based system building.\n- **`/standard`** C Standard: Entirely self-contained C standard library, also pioneering new syntax and clearer semantics.\n- **`/test`** Test Kit: Testing utilities, cross architecture\n\n## Example Use\n\n\n```sh\ngit clone https://github.com/dawnlarsson/dawning-kit 2\u003e/dev/null || true\n\n. dawning-kit/doc.sh\n```\n\n```sh\n# Required for nested usage of dawning-kit\nKIT_DIR=$(pwd)/dawning-kit\n\n. \"$KIT_DIR/bit.sh\"\n```\n\n## Bit Kit\n\nFoundational primitives for code generation, provides \"ring zero\" level utils for building executables,\nit's all in shell so portability isn't a concern, and is transparent for your most critical path, where opaque and complex 3rd party binaries might be a concern.\nThis aims for being ideal for boot strapping toolchains from nothing, a full \"compiled yourself down to the last byte\"\n\nUsage: \n```sh\n. dawning-kit/bit.sh\n```\n\n### Primitives:\n\n#### endianness flag\nrespects endianness, before running any of the primitives you can set big endianness\n```sh\nENDIAN=BIG | big | 1\n```\n\n#### Bytes\nByte functions take any amount of args, each arg is separately represented in the functions size,\nyou can input hex (0x7f) or chars ( ELF -\u003e \"E\", \"L\" \"F\" ), or plain ints\n\n`bit_8` `bit_16` `bit_32` `bit_64` `bit128` `hex_dump` `elf`\n\n### Elf Executable format\nGenerates a ELF executable header and outputs a working executable\n\n```sh\n. dawning-kit/bit.sh\n\nelf_example() {\n        bit_8 0x48, 0xc7, 0xc0, 0x3c, 0x00, 0x00, 0x00 # mov $60, %rax\n        bit_8 0x48, 0xc7, 0xc7, 0x00, 0x00, 0x00, 0x00 # mov $0, %rdi\n        bit_8 0x0f, 0x05                               # x86_64 linux syscall\n}\n\nelf bin/program elf_example\n```\n\n### Hex Dump\n```sh\n. dawning-kit/bit.sh\n\nexample() {\n        bit_8 0x48, 0xc7, 0xc0, 0x3c, 0x00, 0x00, 0x00 # mov $60, %rax\n        bit_8 0x48, 0xc7, 0xc7, 0x00, 0x00, 0x00, 0x00 # mov $0, %rdi\n        bit_8 0x0f, 0x05                               # x86_64 linux syscall\n}\n\nhex_dump example\n```\n\noutput:\n```sh\nexample 16 bytes\n00000000   48 c7 c0 3c 00 00 00 48 c7 c7 00 00 00 00 0f 05   H..\u003c...H........\n```\n\n### Wasm (work in progress)\nBit kit also have wasm primitives for generating WebAssembly modules,\n\n`wasm_var` `wasm_section` `wasm`\n\n```sh\n. dawning-kit/bit.sh\n\ntype_section() {\n    wasm_var 1              # 1 type\n    bit_8 0x60             # func type  \n    bit_8 0x00, 0x01, 0x7F # () -\u003e i32\n}\n\nfunction_section() {\n    wasm_var 1              # 1 function\n    wasm_var 0              # uses type 0\n}\n\nexport_section() {\n    wasm_var 1              # 1 export\n    wasm_var 4              # name length\n    bit_8 \"main\"           # name\n    bit_8 0x00, 0x00       # func export, index 0\n}\n\ncode_section() {\n    wasm_var 1              # 1 function\n    wasm_var 2              # body size\n    bit_8 0x41, 0x00, 0x0B # i32.const 0, end\n}\n\nwasm_module() {\n    wasm_section 1 type_section\n    wasm_section 3 function_section\n    wasm_section 7 export_section\n    wasm_section 10 code_section\n}\n\nwasm example.wasm wasm_module\n```\n\n## Doc Kit\nprimitives to generate HTML and Markdown documentation in HTML.\nWorks entirely within shell itself, this outputs ugly HTML to not waste space.\n\nExample turning this readme into a HTML file:\n```sh\n. dawning-kit/doc.sh\n\ndoc README.md \u003e README.html\n```\n\n### Basic css minification\n```sh\n. dawning-kit/doc.sh\n\nless_css \"style/*.css\" dist/style.css\n```\n\noutput: `CSS: 2.0 KB → 1.2 KB (37% smaller)`\n\n## Dawning EOS (Linux Kit)\naims to provide an easy and highly configurable Linux distro, \nleveraging Dawning Kit to build an immutable core with zero 3rd party dependencies. \n\nThese primitives evolved from [**Archived Dawning EOS R\u0026D Repo**](https://github.com/dawnlarsson/dawning-linux)\n\n### Building\nEnsure to cd into `dawning-kit/linux` before running build.sh\n\nMinimal config for x86_x64\n```sh\nsudo sh build.sh arch/x64 debug_none\n```\n\nMinimal config for raspberry pis (WIP)\n```sh\nsudo sh build.sh arch/arm.pi debug_none\n```\n\nif you want to run this in a virtual machine for testing:\n```sh\nsh build.run.sh\n```\nbut, you need https://www.qemu.org/\n\n## Dawning C Standard\n\u003e Syntax shapes the way you think. Better thinking should be standardized.\n\nThe Dawning C Standard library is a effort to develop a new entirely self contained standard library,\nIt's also trying to lay the ground work for less error prone DX and type semantics in C.\n\nTraditional type systems and APIs prioritize implementation details over clear expression of intent.\n\nThe Type system is explicit about ranges, memory layouts, and semantic meaning. \n\nTypes like `positive`, `bipolar`, and `decimal` **communicate intention**, not just implementation.\nThe improved clarity aims to make systems programming **safer AND faster** by having **lower cognative load** on the programmer. \n\n\nBy carefully re-designing the API and type expression, code can become more effective to think, write and audit.\n\n## Test Kit\nProvides automated test runner for multiple architectures with QEMU.\n\n```sh\n. dawning-kit/test.sh\n\n# path / file_name + .\u003carch\u003e  - becomes the expected usage pattern\ntest_all /path/to/bin/folder file_name\n```\n\n\n## Support\nDid you know this effort has gone 100% out of my pocket?\nIf you think this project speaks for itself, consider supporting on github sponsors to continue making\nprojects like these a reality, open \u0026 free.\n\nSupporter or not, you can **always** reach me on \u003ca href=\"https://discord.gg/cxRvzUyzG8\"\u003eMy Discord Server, my primary communication channel\u003c/a\u003e\nQuestions, feedback or support related to any of my projects, or if you need consulting.\n\n## License\nLogos, Branding, Trademarks - Copyright Dawn Larsson 2022\n\nRepository:\nApache-2.0 license \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdawnlarsson%2Fdawning-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdawnlarsson%2Fdawning-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdawnlarsson%2Fdawning-kit/lists"}