HELP WHEN YOU NEED IT

Support,
without the guesswork.

Talk to the developer

Email sergii.ziborov@gmail.com, or report an issue on GitHub. Email does not require a GitHub account.

Include the app version and build from Settings → About, your device and system version, the steps to reproduce, and the exact error from Problems or Output. Remove credentials and private code before sharing a public report.

What can I build?

GopherForge bundles Go 1.27.1 and compiles locally. It supports pure-Go programs, multi-file projects, tests, vet, formatting and compatible vendored dependencies. Package and GitHub downloads need a connection; later builds use source already present.

The WASI sandbox excludes cgo, native assembly and guest-program networking. Vendoring does not preserve arbitrary non-Go go:embed assets. Local HTML/JavaScript previews can contact remote services referenced by that content. The app console runs project operations; it is not Bash, SSH or a Kubernetes shell.

Automatic dependency preparation uses versions declared in go.mod, not a full module-version solver. go.work semantics are not implemented. An infinite loop has no guaranteed Stop; close and reopen the app if it becomes unresponsive.

BEFORE YOU IMPORT

Module download limits

These are resource budgets enforced by GopherForge, not Go language limits. Each budget applies independently.

4,000 files per module ZIP
All non-directory entries count before decompression, checksum comparison and platform/source filtering. Tests, documentation and other-platform sources count even if later discarded. This is not the final retained file count or a total project limit.
96 MiB compressed
Maximum bytes downloaded for one module ZIP: 100,663,296 bytes.
512 MiB uncompressed
Maximum uncompressed module size: 536,870,912 bytes.
80 modules per preparation pass
Dependencies are prepared from requirements already declared in go.mod.

The modernc.org/libc example

modernc.org/libc@v1.75.3 contains 4,168 archive files and exceeds the 4,000-file budget. It is refused during Setup before compilation. Retrying the same archive cannot bypass the limit; the message is not evidence that disk space is full or your Go source is invalid.

Use a compatible smaller version or dependency only when project requirements allow, or build that project in a desktop Go environment. Passing archive checks does not guarantee WASI compatibility, and this example does not establish Memos or SQLite support.

How are large archives handled?

Above 160 MiB uncompressed, hashing can stream one entry at a time. When relevant Go source exceeds 48 MiB and the imported package is known, retention can narrow to that package and its in-module imports. 48 MiB is a selection trigger, not an absolute final project cap. These paths do not bypass the file-count and uncompressed-size checks.

Read the complete package documentation ↗ · Why a small ZIP can hit a limit

App and web availability

1.1.5 (43) is available on the App Store. It includes 169 teaching lessons in 21 units, 122 readings, 22 prediction challenges and 88 interview guides.

Two further readings on borrowed bytes and pool ownership are available on the web, bringing it to 171 teaching lessons and 124 readings. Native 1.1.6 (44) contains this expansion. Its release status is listed in version history.

Web progress stays in this browser and is independent of app progress. Web completion marks are self-reported; this site does not compile arbitrary source. Eight Go coding-agent guides cover practical use of Codex, Claude and Cursor.

View the app ↗

Reporting a Duo layout problem

Include the posture (closed, open, book or laptop), orientation, selected pane, whether the touch keyboard was visible and whether an external keyboard was connected. Files should be a collapsible left sidebar. These details help distinguish a posture issue from a keyboard inset or safe-area issue.