frostney / frostney/GocciaScript

Define and implement the .gcbundle multi-module bundle format

Open
#153 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

new feature
Dominant language
Pascal
Stars
20
Forks
3
Avg merge
3d 4h
Merged PRs (30d)
45

Description

Goal

Create a reusable .gcbundle binary container for bytecode modules, JSON modules, manifest metadata, and explicit bundled assets.

Scope

  • Add manifest records and binary read/write support.
  • Define virtual path normalization and bundle versioning.
  • Support script, json, and asset entry kinds.
  • Keep the existing single-module .gbc format unchanged.

Acceptance Criteria

  • Bundle read/write round-trips losslessly.
  • The manifest records the entry module path and runtime metadata.
  • The format is versioned and validated on load.
  • Tests cover malformed magic/version handling and round-trip behavior.

Stand-alone Value

Provides a deployable artifact before any native executable packaging exists.

Dependencies

Depends on #152.

Tracking

Tracked by #161.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Resolve dependency #152 first, then compare the proposed .gcbundle behavior with the existing single-module .gbc format. Define and test manifest records, virtual paths, version validation, and script/json/asset entries; done means lossless round trips plus malformed magic/version tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
json
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.