### Pled Project Setup Source: https://github.com/ricotrevisan/pled/blob/main/GEMINI.md Instructions for setting up the Pled project, including dependency installation and compilation. ```Bash # Install dependencies mix deps.get # Build the project mix compile ``` -------------------------------- ### Install Pled CLI Source: https://github.com/ricotrevisan/pled/blob/main/README.md Instructions for installing the Pled executable on macOS by copying it to a system-wide accessible directory. ```sh cp pled /usr/local/bin ``` -------------------------------- ### Running Pled CLI Source: https://github.com/ricotrevisan/pled/blob/main/GEMINI.md Demonstrates how to run the Pled CLI tool using Mix and a compiled release executable. ```Bash # Run with mix mix run pled -- --help # Build a release executable mix release # Run the release executable ./_build/dev/rel/pled/bin/pled --help ``` -------------------------------- ### Pled Development Conventions Source: https://github.com/ricotrevisan/pled/blob/main/GEMINI.md Details on testing, environment variables, and code formatting for Pled development. ```APIDOC Pled Development Conventions: Testing: - Tests are located in the `test` directory. - Run tests with `mix test`. - Integration tests are excluded by default. To run them, modify the `test` alias in `mix.exs`. Environment Variables: - `COOKIE`: Your Bubble.io authentication cookie. - `PLUGIN_ID`: The ID of the plugin you are working on. - Recommended to use `direnv` for managing environment variables per directory. Code Style: - Uses the default Elixir formatter. - Run `mix format` to format the code. ``` -------------------------------- ### Pled CLI Commands Source: https://github.com/ricotrevisan/pled/blob/main/GEMINI.md Lists the available commands for the Pled CLI tool, outlining their functionalities. ```APIDOC Pled CLI Commands: pull Fetches the plugin data from Bubble.io. push Pushes local changes to Bubble.io. encode Encodes the plugin files. upload Uploads a file to Bubble.io. watch Watches for file changes and automatically pushes them. init Initializes a new plugin directory. help Displays the help message. ``` -------------------------------- ### Pled CLI Usage: Push Changes to Bubble Source: https://github.com/ricotrevisan/pled/blob/main/README.md Command to push local modifications of plugin files back to the Bubble.io platform using the Pled CLI tool. ```sh pled push ``` -------------------------------- ### Pled CLI Usage: Pull Plugin Data Source: https://github.com/ricotrevisan/pled/blob/main/README.md Command to pull plugin information and data from the Bubble.io platform using the Pled CLI tool. ```sh pled pull ``` -------------------------------- ### Original Action Structure with Package Dependencies Source: https://github.com/ricotrevisan/pled/blob/main/examples/action_encoding/README.md This JSON snippet shows the original structure of an action in Bubble.io, including package dependencies and server-side function code. It highlights how Pled extracts and manages this information. ```json { "code": { "automatically_added_packages": "{\"jsonwebtoken\":\"latest\",\"node:util\":\"latest\"}", "package": { "fn": "{\n \"dependencies\": {\n \"jsonwebtoken\": \"latest\"\n }\n}", "invalid_package": false }, "package_hash": "1e76bc4a16a53766f915", "package_status": "out_of_date", "package_used": true, "server": { "fn": "async function(properties, context) {\n const jwt = require('jsonwebtoken');\n return { token: jwt.sign(data, key) };\n}" } } } ``` -------------------------------- ### Extracted Server-Side JavaScript Function Source: https://github.com/ricotrevisan/pled/blob/main/examples/action_encoding/README.md This JavaScript code represents the server-side function extracted by Pled from an action's JSON configuration. It demonstrates the actual function logic that is preserved or updated. ```javascript const jwt = require('jsonwebtoken'); return { token: jwt.sign(data, key) }; ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.