Skills update — port registration, oschema guide, forge_workflow, FORGEJO_TOKEN standardization, CI gotchas #21

Open
mik-tf wants to merge 17 commits from development_mik into development
Member

Consolidates all pending skills work into one PR with granular commits.

Changes

  • Register port 3395 for freezone_backend in hero_ports
  • Add oschema-backend-port skill (comprehensive porting guide)
  • Add forge_workflow skill (issue → PR → merge workflow with templates)
  • Retire forge_issues skill (absorbed into forge_workflow)
  • Remove INDEX.md (skills are self-discoverable)
  • Standardize FORGEJO_TOKEN across all forge skills (retire GIT_TOKEN)
  • Add rustup container crash to forge_ci Common CI Issues
  • Add "When build_lib.sh is not available" section to build_lib
  • Add duplicate-check step to forge_workflow issue template
  • Update env_secrets FORGEJO_TOKEN description

Testing

  • All changes are documentation/skill files — no runtime code
  • Verified no GIT_TOKEN references remain in touched skills

Closes #10, Closes #12, Closes #14, Closes #16


Consolidated from #17 into development_mik branch (includes latest development merged in).

Consolidates all pending skills work into one PR with granular commits. ## Changes - Register port 3395 for freezone_backend in hero_ports - Add oschema-backend-port skill (comprehensive porting guide) - Add forge_workflow skill (issue → PR → merge workflow with templates) - Retire forge_issues skill (absorbed into forge_workflow) - Remove INDEX.md (skills are self-discoverable) - Standardize FORGEJO_TOKEN across all forge skills (retire GIT_TOKEN) - Add rustup container crash to forge_ci Common CI Issues - Add "When build_lib.sh is not available" section to build_lib - Add duplicate-check step to forge_workflow issue template - Update env_secrets FORGEJO_TOKEN description ## Testing - All changes are documentation/skill files — no runtime code - Verified no GIT_TOKEN references remain in touched skills Closes #10, Closes #12, Closes #14, Closes #16 --- Consolidated from #17 into `development_mik` branch (includes latest `development` merged in).
Adds freezone_backend (freezone_server) to the hero_ports registry
at port 3395. Updates next available backend port to 3396.

Closes #12
- Detail steps for porting backends to OSchema-generated OpenRPC servers
- Explain storage and proxy/bridge operating modes with examples
- Provide OSchema syntax reference for type and service definitions
- Include common pitfalls, tips, and a quick checklist for developers
Complete issue-to-merge workflow: templates, WIP convention,
writing style, and API calls. Absorbs forge_issues content.

Closes #14
- Replace all GIT_TOKEN references with FORGEJO_TOKEN across forge_api,
  forge_ci, forge_release, and forge_workflow skills
- Add rustup crash row to forge_ci Common CI Issues table
- Add "When build_lib.sh is not available" section to build_lib skill
- Add duplicate-check step to forge_workflow issue template
- Update env_secrets FORGEJO_TOKEN description to cover API calls
- Fix forge_api gotcha #4: one token for everything, not two

Closes #16
Add cross-repo deps.txt reference section to forge_ci (§8) covering
file format, CI usage, maintenance rules after dependency migrations,
and cargo check vs wasm-pack for WASM compilation. Add four new CI
issue rows for stale deps.txt, generated code, package name mismatches,
and fragile wasm-pack paths. Update hero_coderoot with deps.txt sync
checklist and real-world migration example.

Closes #18

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Expand the "Porting an Existing UI" section in the archipelagos skill
from a brief checklist into a complete step-by-step guide covering:

- Two porting modes: SDK (hero_osis) vs HTTP (external API)
- View enum with FromStr trait pattern (not inherent from_str)
- Dual-target service layer (gloo-net WASM + native stubs)
- Tera-to-RSX conversion reference table
- JavaScript interop via js_sys::eval
- Island entry point wiring (signal-based navigation, no Router)
- Standalone lib.rs boilerplate with cfg gates
- CI/Clippy gotchas (#[component] _props bug, cfg-gated params,
  rustfmt::skip for generated code, standalone import gating)
- Complete porting checklist

Also update the Dioxus skill to reference the archipelagos skill for
island work, clarifying that islands don't use Router or Server Functions.

Based on lessons learned porting hero_books (Tera templates) to a native
Dioxus island in hero_archipelagos.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Section 3 of forge_ci skill now documents the undocumented internal
endpoint that the Forgejo web UI uses to fetch job step logs. This
enables programmatic CI log retrieval with token authentication,
removing the need to always reproduce failures locally or copy-paste
from the browser.

Closes #20

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- forge_ci: fix List Runs field names (index_in_repo, prettyref, title
  instead of index, head_branch, name) and List Tasks fields
- forge_ci: document that web log endpoint returns 404 for private repos
  (Forgejo web routes require session cookies, no token auth works)
- forge_ci: correct response format (wrapped in state/logs, "lines" not
  "logLines", Unix timestamps)
- forge_ci: promote local reproduction to Option 1 (fastest, works for
  all repos, catches errors before pushing)
- forge_ci: add build_lib.sh build() argument order gotcha
- forge_ci: add explicit warning to never toggle repo visibility
- makefile_helper: add ci-local target pattern with scripts/ci-local.sh
  that neutralizes workspace .cargo/config.toml for CI-equivalent builds
- hero_coderoot: document workspace .cargo/config.toml interference with
  CI builds and link to ci-local workaround

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- makefile_helper: test-all.sh uses make targets (not raw cargo), ci-local
  calls make test-all with CARGO_NET_GIT_FETCH_WITH_CLI, new ci-docker
  convention with Docker template and ci-patch-deps.sh for cross-repo deps
- forge_ci: Option 1 updated with three-tier strategy and careful language
  ("CI should pass" not "will pass")
- build_lib: build.yaml simplified to single make test-all step

Proven in practice: ci-local pass → remote CI pass (hero_zero PR #14).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Take development's znzfreezone naming for port 3395 entry.
- makefile_helper: add Ports vs Sockets section, clarify PORT is TCP fallback
- build_lib: note PORTS is for dev/registry identity, production uses sockets
- Both skills now cross-reference hero_sockets for the full architecture

Closes #24
- ci-docker.sh must mirror full CI pipeline (test-all + musl + ARM64),
  not just test-all — native builds don't catch cross-compilation failures
- forge_config() must be called before publish_binaries() in all workflows
- Use rustls-tls instead of native-tls to avoid OpenSSL cross-compilation issues
- Updated all publish step examples to include forge_config call
Author
Member

Lots of good stuff in this PR, @timur @despiegk

I would highly consider checking ci-docker skills. This ensures we can test fully locally what the runner tests remotely. This saves a lot of time in the testing+development phase.

Lots of good stuff in this PR, @timur @despiegk I would highly consider checking ci-docker skills. This ensures we can test fully locally what the runner tests remotely. This saves a lot of time in the testing+development phase.
forge_ci: add --workspace --exclude WASM pattern, generated code
formatting in build.rs, clippy continue-on-error guidance.

makefile_helper: add Makefile/CI flag alignment rule, Docker
root-owned file cleanup pitfall for ci-docker.
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin development_mik:development_mik
git switch development_mik

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch development
git merge --no-ff development_mik
git switch development_mik
git rebase development
git switch development
git merge --ff-only development_mik
git switch development_mik
git rebase development
git switch development
git merge --no-ff development_mik
git switch development
git merge --squash development_mik
git switch development
git merge --ff-only development_mik
git switch development
git merge development_mik
git push origin development
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
geomind_code/dev_docs!21
No description provided.