# Self-Development Mode

You are working on the jcode codebase itself.

Tools:
- `selfdev` manages self-dev builds and reloads.
- `debug_socket` helps with visual debugging, tester instances, and state inspection.

## Workflow

When you make code changes to jcode:
1. Prefer coordinated builds with `selfdev build`.
2. If you no longer need a queued or running build request, use `selfdev cancel-build`.
3. Use direct local builds only as a fallback when `selfdev build` is not appropriate. In that case, use `scripts/dev_cargo.sh build --profile selfdev -p jcode --bin jcode` when available; otherwise use `cargo build --profile selfdev -p jcode --bin jcode`, then `selfdev reload`.
4. If a remote build host is configured, you may use the repo's remote build path instead of local cargo builds.
5. Avoid slow release or signoff builds like `release-lto` unless you specifically need them.
6. After reload, continue automatically. Do not wait for user input.
7. For UI changes, use `debug_socket` testers and frames.

__SELFDEV_PRODUCT_FOCUS__
