https://github.com/ivanminutillo/bonfire_composer
https://github.com/ivanminutillo/bonfire_composer
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ivanminutillo/bonfire_composer
- Owner: ivanminutillo
- License: agpl-3.0
- Created: 2022-03-08T10:20:23.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-03-08T10:21:19.000Z (about 3 years ago)
- Last Synced: 2025-01-11T23:35:16.396Z (4 months ago)
- Language: Elixir
- Size: 21.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Bonfire.Composer
A template for creating custom extensions for [Bonfire](https://bonfire.cafe/)
## How to use it
- Clone the repository on your `/forks` folder
```
cd forks
mkdir {your-extension-name}
git clone https://github.com/bonfire-networks/bonfire_composer.git .
```
- Rename all the modules names to match your extension name:
- Find & replace Bonfire.Composer -> Bonfire.YourExtensionName
- Find & replace bonfire_composer -> bonfire_your_extension_name
- Rename the `bonfire_composer.exs` config file to match your extension name `bonfire_your_extension_name.exs`
- Add paths to the router if you need it. If you add paths you will need to include the route module on [bonfire-app router module](https://github.com/bonfire-networks/bonfire-app/blob/main/lib/web/router.ex#L51)
- Add extension specific Fake functions
- Add extension specific migrations
- Add extension deps to deps.git and/or deps.hex
- Delete the bonfire extension template git history and initiate a new .git
```
rm -rf .git
git init
```
- Create your empty extension repository on your preferred platform
- Push your local changes
```
git add .
git commit -m "first commit"
git create -M main
git remote add origin {your-remote-repository}
git push -u origin main
```
- Add the extension on your bonfire deps.path to include it in your local development
- Add the extension on deps.git also (specifying the branch name) to allow others that do not have it in their fork to use it
- Write a meaningful readme
- TADA 🔥!## Copyright and License
Copyright (c) 2020 Bonfire, VoxPublica, and CommonsPub Contributors
This 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.This 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.You should have received a copy of the GNU Affero General Public
License along with this program. If not, see .