{"id":30388233,"url":"https://github.com/trueblocks/create-local-app","last_synced_at":"2025-08-21T06:09:09.564Z","repository":{"id":307495511,"uuid":"1029666294","full_name":"TrueBlocks/create-local-app","owner":"TrueBlocks","description":"Create a skeleton TrueBlocks/Wails/Go/Typescript local desktop app with a single command.","archived":false,"fork":false,"pushed_at":"2025-07-31T16:42:01.000Z","size":3132,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-31T17:13:40.837Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TrueBlocks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-31T11:40:41.000Z","updated_at":"2025-07-31T16:42:05.000Z","dependencies_parsed_at":"2025-07-31T17:13:42.288Z","dependency_job_id":"768cec46-cd10-4428-89ba-5db2f9f6286a","html_url":"https://github.com/TrueBlocks/create-local-app","commit_stats":null,"previous_names":["trueblocks/create-local-app"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/TrueBlocks/create-local-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueBlocks%2Fcreate-local-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueBlocks%2Fcreate-local-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueBlocks%2Fcreate-local-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueBlocks%2Fcreate-local-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TrueBlocks","download_url":"https://codeload.github.com/TrueBlocks/create-local-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueBlocks%2Fcreate-local-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271436221,"owners_count":24759328,"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-08-21T02:00:08.990Z","response_time":74,"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":"2025-08-21T06:09:04.451Z","updated_at":"2025-08-21T06:09:09.544Z","avatar_url":"https://github.com/TrueBlocks.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Create Local App\n\n[![Issues][issues-shield]][issues-url]\n[![GPL 3.0 License][license-shield]][license-url]\n\n**A powerful Go-based scaffolding tool for TrueBlocks/Wails desktop applications**\n\n[**Explore the docs »**](https://github.com/TrueBlocks/create-local-app)\n\n[Report Bug](https://github.com/TrueBlocks/create-local-app/issues/new?labels=bug\u0026template=bug-report---.md) · [Request Feature](https://github.com/TrueBlocks/create-local-app/issues/new?labels=enhancement\u0026template=feature-request---.md)\n\n## Table of Contents\n\n- [Create Local App](#create-local-app)\n  - [Table of Contents](#table-of-contents)\n  - [About The Project](#about-the-project)\n    - [Built With](#built-with)\n  - [Getting Started](#getting-started)\n    - [Prerequisites](#prerequisites)\n    - [Installation](#installation)\n  - [Usage](#usage)\n    - [Command Line Options](#command-line-options)\n    - [Interactive Mode (First Run)](#interactive-mode-first-run)\n    - [Auto Mode (Subsequent Runs)](#auto-mode-subsequent-runs)\n    - [Force Mode](#force-mode)\n    - [Template Management](#template-management)\n    - [Creating Your First TrueBlocks miniDapp](#creating-your-first-trueblocks-minidapp)\n  - [Contributing](#contributing)\n  - [License](#license)\n  - [Contact](#contact)\n  - [Acknowledgments](#acknowledgments)\n\n## About The Project\n\n`create-local-app` is a sophisticated scaffolding tool designed to streamline the creation of TrueBlocks/Wails desktop applications. With a single command, it generates a complete project structure with Go backend and TypeScript frontend, handling all the boilerplate code and configuration for you.\n\n### Built With\n\nThis project is built using modern Go technologies and integrates seamlessly with the TrueBlocks ecosystem:\n\n- [![Go][Go.dev]][Go-url]\n- [![Wails][Wails.io]][Wails-url]\n- [![TypeScript][TypeScript.org]][TypeScript-url]\n- [![TrueBlocks][TrueBlocks.io]][TrueBlocks-url]\n\n## Getting Started\n\nTo get a local copy up and running, follow these simple steps.\n\n### Prerequisites\n\nBefore using `create-local-app`, ensure you have the required versions of these tools. Click on the badges in the [Built With](#built-with) section for installation instructions.\n\n**Required versions:**\n\n- **Go**: v1.23.1 or higher\n- **TrueBlocks**: v5.1.0 or higher  \n- **Wails**: v2.10.1 or higher\n- **Yarn**: v1.22.22 or higher\n\n**Check your versions:**\n\n```sh\ngo version        # v1.23.1 or higher\nchifra version    # v5.1.0 or higher \nwails version     # v2.10.1 or higher\nyarn --version    # v1.22.22 or higher\n```\n\n### Installation\n\n1. **Build from source**\n\n   ```sh\n   git clone https://github.com/TrueBlocks/create-local-app.git\n   cd create-local-app\n   \n   # Build the Go binary (templates are embedded)\n   touch VERSION \u0026\u0026 go build -o bin/create-local-app main.go\n   ```\n\n2. **Install to your PATH** (recommended)\n\n   ```sh\n   # Option 1: Use the deploy script (easiest)\n   yarn deploy\n   \n   # Option 2: Manual installation\n   cp bin/create-local-app /usr/local/bin/\n   \n   # OR (temporarily) add the bin directory to your PATH\n   export PATH=\"$PATH:$(pwd)/bin\"\n   ```\n\n   \u003e **📝 Note:** If you get a permission error with `yarn deploy`, you may need to use `sudo yarn deploy`. This can happen if there's an existing file in `/usr/local/bin/` that was previously installed with sudo.\n\n3. **Configuration Directory Structure**\n\n   On first run, the application automatically creates and populates:\n\n   ```\n   ~/.create-local-app/\n   ├── config.json                 # Your saved preferences\n   └── templates/\n       ├── system/                 # Built-in templates (extracted from binary)\n       │   └── default/            # Default Wails project template\n       └── contributed/            # Your custom templates\n           └── my-template/        # Created with --create mode\n   ```\n\n   - **Embedded Templates**: System templates are embedded in the binary as compressed archives\n   - **Automatic Extraction**: Templates are extracted to home directory on first run\n   - **Contributed Templates**: Your custom templates, preserved across updates\n   - **Configuration**: Stores your organization, project defaults, etc.\n\n## Usage\n\nWhen you first run `create-local-app`, it will interactively prompt you for project information and save your preferences for future use. Subsequent runs can use the `--auto` flag to skip prompts if nothing has changed.\n\n### Command Line Options\n\n- `--auto` - Use saved configuration without prompts\n- `--force` - Force operation without confirmation (overwrite existing files)\n- `--create \u003ctemplate-name\u003e` - Create a template from the current directory\n- `--remove \u003ctemplate-name\u003e` - Remove a contributed template with confirmation\n- `--version` - Show version information\n- `--help` - Show help message\n\n### Interactive Mode (First Run)\n\nThe first time you run the command, it provides a guided setup experience:\n\n```sh\ncreate-local-app\n```\n\nYou'll be prompted for:\n\n- **Organization**: Your organization name (e.g., \"TrueBlocks, LLC\")\n- **Project Name**: Name of your project (e.g., \"my-awesome-app\")\n- **Go Import**: For importing Go packages - no spaces allowed (e.g., \"github.com/TrueBlocks/my-awesome-app\")\n- **Domain**: The domain name of your home page (e.g., \"trueblocks.io\")\n\n\u003e **⚠️ Warning:** If the current directory contains files, the operation will fail unless you use the `--force` flag. This prevents accidental overwrites of existing work.\n\n### Auto Mode (Subsequent Runs)\n\nSkip prompts and use previously saved configuration:\n\n```sh\ncreate-local-app --auto [--force]\n```\n\n*Note: This uses the configuration saved from your previous interactive run and also requires `--force` if files exist.*\n\n### Force Mode\n\nOverride the safety check that prevents overwriting existing files:\n\n```sh\ncreate-local-app --force\n# or\ncreate-local-app --auto --force\n```\n\n\u003e **⚠️ Warning:** The `--force` flag will overwrite existing files in an unrecoverable way. Make sure to commit your changes to version control before using this flag.\n\n### Template Management\n\nCreate and manage custom templates:\n\n**Creating a Template:**\n```sh\n# From a customized project, create a template (saves project-local config)\ncd my-customized-project\ncreate-local-app --create my-custom-template\n```\n\n**Removing a Template:**\n```sh\ncreate-local-app --remove my-custom-template\n    # \u003e Are you sure you want to remove template 'my-custom-template'? (y/N):\n```\n\n\u003e **📝 Note:** Only contributed templates can be removed. System templates (like \"default\") are protected and cannot be removed.\n\n### Creating Your First TrueBlocks miniDapp\n\n```sh\n# 1. Create a new project interactively\nmkdir my-new-app \u0026\u0026 cd my-new-app\ncreate-local-app\n    # \u003e TrueBlocks, LLC\n    # \u003e my-new-app\n    # \u003e github.com/TrueBlocks/my-new-app\n    # \u003e https://trueblocks.io \n\n# 2. Initialize git repository and submodules\ngit init\ngit submodule update --init --recursive\n\n# 3. Set up the my-new-app project\nyarn install\n\n# 4. Testing\nyarn test\n\n# 5. Start the new app\nyarn start\n\n# 6. Later, if you need to regenerate (e.g., after template updates)\n# This will fail safely if files exist:\ncreate-local-app --auto\n    # Error: directory contains files, use --force\n\n# Use --force to override safety check:\ncreate-local-app --auto --force\n```\n\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\nFor detailed development information, see [DEVELOPING.md](DEVELOPING.md).\n\n## License\n\nDistributed under the GPL 3.0 License. See `LICENSE` for more information.\n\n## Contact\n\nTrueBlocks - [@trueblocks](https://twitter.com/trueblocks) - \u003cinfo@trueblocks.io\u003e\n\nProject Link: [https://github.com/TrueBlocks/create-local-app](https://github.com/TrueBlocks/create-local-app)\n\n## Acknowledgments\n\nResources and inspirations that made this project possible:\n\n- [Wails Framework](https://wails.io/) - For creating amazing desktop apps with Go and web technologies\n- [TrueBlocks](https://trueblocks.io/) - The decentralized data infrastructure\n- [Go Programming Language](https://golang.org/) - For excellent standard library and tooling\n- [Best README Template](https://github.com/othneildrew/Best-README-Template) - For this awesome README structure\n- [Shields.io](https://shields.io/) - For the beautiful badges\n- [Choose an Open Source License](https://choosealicense.com/) - For license guidance\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[issues-shield]: https://img.shields.io/github/issues/TrueBlocks/create-local-app.svg?style=for-the-badge\n[issues-url]: https://github.com/TrueBlocks/create-local-app/issues\n[license-shield]: https://img.shields.io/github/license/TrueBlocks/create-local-app.svg?style=for-the-badge\n[license-url]: https://github.com/TrueBlocks/create-local-app/blob/main/LICENSE\n[Go.dev]: https://img.shields.io/badge/Go-00ADD8?style=for-the-badge\u0026logo=go\u0026logoColor=white\n[Go-url]: https://golang.org/\n[Wails.io]: https://img.shields.io/badge/Wails-DF0000?style=for-the-badge\u0026logo=wails\u0026logoColor=white\n[Wails-url]: https://wails.io/\n[TypeScript.org]: https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\n[TypeScript-url]: https://www.typescriptlang.org/\n[TrueBlocks.io]: https://img.shields.io/badge/TrueBlocks-4A90E2?style=for-the-badge\u0026logo=ethereum\u0026logoColor=white\n[TrueBlocks-url]: https://trueblocks.io/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrueblocks%2Fcreate-local-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrueblocks%2Fcreate-local-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrueblocks%2Fcreate-local-app/lists"}