{"owner":"1jehuang","repo":"jcode","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"skills":{"AGENTS.md":"# Repository Guidelines\n\n## Development Workflow\n\n- **Stay on your own branch** - Do not take, cherry-pick, merge, or copy code from other\n  people's or other agents' branches unless the source branch belongs to a repository\n  maintainer and the user explicitly asks you to integrate it. Only work from your branch\n  and its base (e.g. `main`) otherwise. Never integrate branches owned by non-maintainers\n  or other agents yourself; tell the user and let them decide how to proceed.\n\n## Install Notes\n- `~/.local/bin/jcode` is the launcher symlink used from `PATH`.\n- `~/.jcode/builds/current/jcode` is the active local/source-build channel; self-dev builds and `scripts/install_release.sh` point the launcher here.\n- `~/.jcode/builds/stable/jcode` is the stable release channel; `scripts/install.sh` installs this and points the launcher here.\n- `~/.jcode/builds/versions/<version>/jcode` stores immutable binaries.\n- `~/.jcode/builds/canary/jcode` still exists for canary/testing flows, but it is not the primary self-dev install path.\n- On Windows, the equivalents are `%LOCALAPPDATA%\\\\jcode\\\\bin\\\\jcode.exe` for the launcher, `%LOCALAPPDATA%\\\\jcode\\\\builds\\\\stable\\\\jcode.exe` for stable, and `%LOCALAPPDATA%\\\\jcode\\\\builds\\\\versions\\\\<version>\\\\jcode.exe` for immutable installs; `scripts/install.ps1` currently installs the stable channel.\n- Ensure `~/.local/bin` is **before** `~/.cargo/bin` in `PATH`.\n\n## Verifying a change at runtime\n\n`cargo build` alone proves nothing about behavior. `jcode run` and interactive\nsessions are served by the long-lived daemon at\n`~/.jcode/builds/shared-server/jcode`, which is a symlink into\n`~/.jcode/builds/versions/<version>/`. Until that symlink is repointed and the\ndaemon restarted (`jcode self-dev --build`), a freshly built binary is inert and\nevery runtime check silently measures the old code.\n\nTo test a change without disturbing the shared daemon or the caller's session,\nrun your build against its own socket:\n\n```bash\ncargo build --profile selfdev\n./target/selfdev/jcode run --no-update --socket /run/user/1000/jcode-mytest.sock '<prompt>'\n```\n\nTwo things that waste time otherwise:\n\n- `crate::logging::info` writes to a log file, not stderr, so instrumenting a\n  code path with it produces no visible output under `--trace`. Use `eprintln!`\n  for throwaway diagnostics and delete it before committing.\n- Confirm which binary you are actually inspecting. `strings` on\n  `builds/shared-server/jcode` reads a 70-byte symlink, not a program; resolve it\n  with `readlink -f` first.\n"},"files":{"AGENTS.md":"# Repository Guidelines\n\n## Development Workflow\n\n- **Stay on your own branch** - Do not take, cherry-pick, merge, or copy code from other\n  people's or other agents' branches unless the source branch belongs to a repository\n  maintainer and the user explicitly asks you to integrate it. Only work from your branch\n  and its base (e.g. `main`) otherwise. Never integrate branches owned by non-maintainers\n  or other agents yourself; tell the user and let them decide how to proceed.\n\n## Install Notes\n- `~/.local/bin/jcode` is the launcher symlink used from `PATH`.\n- `~/.jcode/builds/current/jcode` is the active local/source-build channel; self-dev builds and `scripts/install_release.sh` point the launcher here.\n- `~/.jcode/builds/stable/jcode` is the stable release channel; `scripts/install.sh` installs this and points the launcher here.\n- `~/.jcode/builds/versions/<version>/jcode` stores immutable binaries.\n- `~/.jcode/builds/canary/jcode` still exists for canary/testing flows, but it is not the primary self-dev install path.\n- On Windows, the equivalents are `%LOCALAPPDATA%\\\\jcode\\\\bin\\\\jcode.exe` for the launcher, `%LOCALAPPDATA%\\\\jcode\\\\builds\\\\stable\\\\jcode.exe` for stable, and `%LOCALAPPDATA%\\\\jcode\\\\builds\\\\versions\\\\<version>\\\\jcode.exe` for immutable installs; `scripts/install.ps1` currently installs the stable channel.\n- Ensure `~/.local/bin` is **before** `~/.cargo/bin` in `PATH`.\n\n## Verifying a change at runtime\n\n`cargo build` alone proves nothing about behavior. `jcode run` and interactive\nsessions are served by the long-lived daemon at\n`~/.jcode/builds/shared-server/jcode`, which is a symlink into\n`~/.jcode/builds/versions/<version>/`. Until that symlink is repointed and the\ndaemon restarted (`jcode self-dev --build`), a freshly built binary is inert and\nevery runtime check silently measures the old code.\n\nTo test a change without disturbing the shared daemon or the caller's session,\nrun your build against its own socket:\n\n```bash\ncargo build --profile selfdev\n./target/selfdev/jcode run --no-update --socket /run/user/1000/jcode-mytest.sock '<prompt>'\n```\n\nTwo things that waste time otherwise:\n\n- `crate::logging::info` writes to a log file, not stderr, so instrumenting a\n  code path with it produces no visible output under `--trace`. Use `eprintln!`\n  for throwaway diagnostics and delete it before committing.\n- Confirm which binary you are actually inspecting. `strings` on\n  `builds/shared-server/jcode` reads a 70-byte symlink, not a program; resolve it\n  with `readlink -f` first.\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"# Repository Guidelines\n\n## Development Workflow\n\n- **Stay on your own branch** - Do not take, cherry-pick, merge, or copy code from other\n  people's or other agents' branches unless the source branch belongs to a repository\n  maintainer and the user explicitly asks you to integrate it. Only work from your branch\n  and its base (e.g. `main`) otherwise. Never integrate branches owned by non-maintainers\n  or other agents yourself; tell the user and let them decide how to proceed.\n\n## Install Notes\n- `~/.local/bin/jcode` is the launcher symlink used from `PATH`.\n- `~/.jcode/builds/current/jcode` is the active local/source-build channel; self-dev builds and `scripts/install_release.sh` point the launcher here.\n- `~/.jcode/builds/stable/jcode` is the stable release channel; `scripts/install.sh` installs this and points the launcher here.\n- `~/.jcode/builds/versions/<version>/jcode` stores immutable binaries.\n- `~/.jcode/builds/canary/jcode` still exists for canary/testing flows, but it is not the primary self-dev install path.\n- On Windows, the equivalents are `%LOCALAPPDATA%\\\\jcode\\\\bin\\\\jcode.exe` for the launcher, `%LOCALAPPDATA%\\\\jcode\\\\builds\\\\stable\\\\jcode.exe` for stable, and `%LOCALAPPDATA%\\\\jcode\\\\builds\\\\versions\\\\<version>\\\\jcode.exe` for immutable installs; `scripts/install.ps1` currently installs the stable channel.\n- Ensure `~/.local/bin` is **before** `~/.cargo/bin` in `PATH`.\n\n## Verifying a change at runtime\n\n`cargo build` alone proves nothing about behavior. `jcode run` and interactive\nsessions are served by the long-lived daemon at\n`~/.jcode/builds/shared-server/jcode`, which is a symlink into\n`~/.jcode/builds/versions/<version>/`. Until that symlink is repointed and the\ndaemon restarted (`jcode self-dev --build`), a freshly built binary is inert and\nevery runtime check silently measures the old code.\n\nTo test a change without disturbing the shared daemon or the caller's session,\nrun your build against its own socket:\n\n```bash\ncargo build --profile selfdev\n./target/selfdev/jcode run --no-update --socket /run/user/1000/jcode-mytest.sock '<prompt>'\n```\n\nTwo things that waste time otherwise:\n\n- `crate::logging::info` writes to a log file, not stderr, so instrumenting a\n  code path with it produces no visible output under `--trace`. Use `eprintln!`\n  for throwaway diagnostics and delete it before committing.\n- Confirm which binary you are actually inspecting. `strings` on\n  `builds/shared-server/jcode` reads a 70-byte symlink, not a program; resolve it\n  with `readlink -f` first.\n","category":"root","tokens":634}]}