{"id":20503875,"url":"https://github.com/phcode-dev/phoenix-desktop","last_synced_at":"2025-10-09T12:38:14.173Z","repository":{"id":104011917,"uuid":"583268323","full_name":"phcode-dev/phoenix-desktop","owner":"phcode-dev","description":"Windows, Mac and Linux Desktop builds of Phoenix  Code Editor","archived":false,"fork":false,"pushed_at":"2025-10-04T11:58:19.000Z","size":2665,"stargazers_count":84,"open_issues_count":23,"forks_count":10,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-10-04T13:28:44.961Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"NSIS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phcode-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["phcode-dev"],"patreon":null,"open_collective":"phoenix-ide","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-12-29T09:12:22.000Z","updated_at":"2025-10-04T11:57:17.000Z","dependencies_parsed_at":"2023-09-28T23:53:59.784Z","dependency_job_id":"593c0352-55a4-4656-9813-f8bced5b5ff4","html_url":"https://github.com/phcode-dev/phoenix-desktop","commit_stats":null,"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/phcode-dev/phoenix-desktop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phcode-dev%2Fphoenix-desktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phcode-dev%2Fphoenix-desktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phcode-dev%2Fphoenix-desktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phcode-dev%2Fphoenix-desktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phcode-dev","download_url":"https://codeload.github.com/phcode-dev/phoenix-desktop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phcode-dev%2Fphoenix-desktop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001431,"owners_count":26083078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T19:34:45.979Z","updated_at":"2025-10-09T12:38:14.156Z","avatar_url":"https://github.com/phcode-dev.png","language":"NSIS","funding_links":["https://github.com/sponsors/phcode-dev","https://opencollective.com/phoenix-ide"],"categories":[],"sub_categories":[],"readme":"# Phoenix Desktop\nThis repo deals with Windows, Mac and Linux Desktop builds of [Phoenix Code Editor](https://github.com/phcode-dev/phoenix).\n\nPlease see https://github.com/phcode-dev/phoenix on how to Contribute or get in touch with the community.\n\n## Status\nExperimental development- Work in progress, Track status here: https://github.com/orgs/phcode-dev/projects/1/views/1\n\n# Development Setup\nWe use [Tauri](https://tauri.app/) as our app shell. We maintain the [phcode-tauri-shell](https://github.com/phcode-dev/phoenix-desktop) and\n[phcode static website](https://github.com/phcode-dev/phoenix) code in two separate repositories. This \nseparation is intended to simplify development by distinctly isolating the shell and phcode. For instance,\nif you are solely developing the shell internals, you can always construct an empty tauri app without having to build phoenix.\n\nFollow the below\ninstructions to set up development environment.\n\n## Prerequisites\n\n1. Setup [node and npm 16+](https://nodejs.org/en/download/).\n2. Setup [tauri prerequisites]( https://tauri.app/v1/guides/getting-started/prerequisites/) for your platform.\n3. Setup Install gulp globally once with `npm install -g gulp-cli` (use `sudo npm install -g gulp-cli` in *nix systems)\n\n## Get the code for development\nGet [phoenix](https://github.com/phcode-dev/phoenix) and [phoenix-desktop](https://github.com/phcode-dev/phoenix-desktop) into two folders in your computer.\n```bash\ngit clone https://github.com/phcode-dev/phoenix-desktop.git\ngit clone https://github.com/phcode-dev/phoenix.git\n```\n\u003e **_IMPORTANT:_**  `phoenix` and `phoenix-desktop` should be within the same parent directory!!!\n\n## Running Phoenix Desktop Development Builds\nFor development, tauri will directly load the phcode static\nserver url \"localhost:8000/src\" from the phoenix repo. So you\ncan quickly iterate changes without rebuilding tauri src for each change. Just a simple reload will suffice.\n\n1. Setup and run `phoenix` by following the steps.\n   ```bash\n   cd phoenix\n   npm install\n   npm run build\n   npm run serve\n   ```\n   \u003e Detailed instructions on how to setup and run phoenix are available [here](https://github.com/phcode-dev/phoenix#running-phoenix)\n2. To build desktop development build after starting phoenix server:\n   ```bash\n   cd phoenix-desktop\n   npm install\n   npm run serve\n   ``` \n   Phoenix Desktop will start compiling and the editor window should appear after the build is done.\n3. Now you can make changes to [phoenix](https://github.com/phcode-dev/phoenix) and [phoenix-desktop](https://github.com/phcode-dev/phoenix-desktop) independently and see changes live.\n   * Changes in `phoenix-desktop` folder built with Tauri will be auto compiled and live patched on save.\n   * To load changes in `phoenix` folder, just reload Phoenix by pressing `f5` in the Phoenix window just like you would do on the browser versions of Phoenix.\n\n## Building release binaries locally for development/testing\n\n\u003e Note: For the majority of development tasks, it's not necessary to build the release artifacts locally,\n\u003e as outlined in this section. Most development requirements can be met by simply following the instructions\n\u003e provided in the [Running Phoenix Desktop Development Builds](#running-phoenix-desktop-development-builds) section.\n\u003e This process is mainly required when you want to test something specific that might behave differently under the `tauri://` protocol.\n\nTauri development builds load phcode from `https://` url. But the release build uses packaged assets with custom tauri url\n`tauri://`. So there may be some cases where the behavior is different between the release builds and development builds.\n\n\u003e **_IMPORTANT:_**  `phoenix` and `phoenix-desktop` projects should be within the same parent directory for the below commands to work!!!\n\n### generate release builds from the `phoenix/src` folder\nIf you want to generate the release builds locally directly while you are editing the `phoenix/src` folder, run the following command.\n```bash\ncd phoenix-desktop\n# To generate debug builds:\nnpm run releaseSrc\n# OR to generate debug builds, just run `npm run releaseSrcDebug`\n```\nThis is the easiest way to quickly debug issues directly from the phoenix source folder.\n\n### generate dev, staging and prod release builds from `phoenix/dist` folder\nThese builds are faithful to the actual binaries that are generated from the github CI pipelines shipped to users.\nIf you want to generate the dev, staging and prod builds locally of phcode, run the following command:\n```bash\n# You should first build the appropriate release build in `phoenix`.\ncd phoenix\nnpm install\nnpm run build\nnpm run release:prod\n# Other release options are `npm run release:dev` and `npm run release:staging` \n\n# Now generate the tauri release builds:\ncd ../phoenix-desktop\nnpm run releaseDist\n# OR to debug, just run `npm run releaseDistDebug`\n```\n\n#### Generating installers/AppImage and DMGs locally from `phoenix/dist` folder\nTo generate the installers, use the commands\n```bash\n# You should first build the appropriate release build in `phoenix`.\ncd phoenix\nnpm install\nnpm run build\nnpm run release:prod\n# Other release options are `npm run release:dev` and `npm run release:staging` \n\n# Now generate the bundles\ncd ../phoenix-desktop\nnpm run releaseDistBundle\n# will generate appimages/DMGs or nsix windows installers in target/release/bundle\n```\n\n\n## Building release binaries and installers in GitHub actions\nThe npm commands that begin with `_ci-*` are exclusively designed to execute in a GitHub Actions environment.\nThese commands are not typically executed on your local machine unless you're actively working on the GitHub\nActions workflows. However, if you need to run these locally for testing, look for `#uncomment_line_for_local_build_1`\nin the codebase and uncomment the corresponding line.\n\n\u003e NB: Make sure not to check in any artists created by the build process!!!\n\n### Primary GitHub Actions Targets\nThere are three primary targets for our GitHub actions:\n1. `npm run _ci-release:prod`\n2. `npm run _ci-release:dev`\n3. `npm run _ci-release:staging`\n\nTo run the ci-release script, you can use the following steps:\n```bash\n# Example on how to run the ci-release script locally.\ncd phoenix-desktop\nnpm install\nnpm run _ci-release:prod\nnpm run tauri build --debug\n# or if you want the release builds, use `npm run tauri build`\n```\n\n### Execution Workflow\nThe script will begin by cloning the repository identified in the `phoenixRepo` section of the `package.json` file.\nNext, it will build the corresponding stage as specified in the `npm run _ci-release:\u003cstage\u003e` command and will\ngenerate the necessary distribution folders in `phoenix/dist`. Following this, it will patch the Tauri configuration files\nto use the generated distribution folder for creating the release builds.\n\nThe actual release artifacts will then be built by the tauri action `tauri-apps/tauri-action@v0` specified in the\n`tauri-build.yml` file. Finally, it will generate a draft release.\n\nRemember, the `npm run _ci-*` commands are designed to execute in the GitHub Actions environment.\nThey're not typically used for local machine executions unless you're working on or testing the GitHub Actions workflows themselves.\n\n### Building the demo app\nIf you dont want to build phcode and just build a demo app with similar config as phcode(You may do this\nif you are working on the release generation or build tooling and don't want to wait for phcode to build\nevery time you want to test the build). Just run this command:\n\n```bash\nnpm run tauriBuildDemoApp\n```\n\n# License\n\nGNU AGPL-3.0 License\n\nCopyright (c) 2022 - present Core.ai\n\nThis program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License along with this program. If not, see https://opensource.org/licenses/AGPL-3.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphcode-dev%2Fphoenix-desktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphcode-dev%2Fphoenix-desktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphcode-dev%2Fphoenix-desktop/lists"}