forgejo-contrib-forgejo-cli-issues-208.md
Watch20
Star402
Fork
You've already forked forgejo-cli
CodeIssues 44Pull requests 8Releases 11Packages 2WikiActivity
Open
opened 2025-06-21 16:57:09 +02:00 by plotski · 5 comments
plotski commented 2025-06-21 16:57:09 +02:00
Copy link
I'm trying to have one configuration per project directory, but I can't even figure out where/if forgejo-cli stores any configuration. fj said it created a key file at some point, but I have no idea where it is.
With gh I can use environment variables and direnv. For example, I could have a .envrc like this in each project directory:
export FJ_HOST=codeberg.org
export FJ_REPO=plotski/myproject
export FJ_TOKEN=d34db33f00b4r
And every time I enter such a project directory, all the variables are set, and they are unset when I leave the directory.
direnv cannot create aliases, so creating an alias with the required arguments as suggested in the README doesn't work with this approach.
I would have to create one alias for each project directory in my ~/.zshrc, which means my project config is in some completely unrelated file in my home directory. Not very tidy.
I'm trying to have one configuration per project directory, but I can't even figure out where/if forgejo-cli stores any configuration. fj said it created a key file at some point, but I have no idea where it is. With gh I can use environment variables and direnv. For example, I could have a .envrc like this in each project directory: export FJ_HOST=codeberg.org export FJ_REPO=plotski/myproject export FJ_TOKEN=d34db33f00b4r And every time I enter such a project directory, all the variables are set, and they are unset when I leave the directory. direnv cannot create aliases, so creating an alias with the required arguments as suggested in the README doesn't work with this approach. I would have to create one alias for each project directory in my ~/.zshrc, which means my project config is in some completely unrelated file in my home directory. Not very tidy.
👍 1
Cyborus commented 2025-06-21 17:38:28 +02:00
Member
Copy link
Ideally, forgejo-cli is configured with git. If your projects only have a single git remote, it will figure out the instance URL and project name from that. If there's multiple remotes, it'll try to figure that out from the currently checked-out branch's remote tracking branch.
If it can't do that, that's what the --host flag is for (and in turn, aliases). There is also the FJ_FALLBACK_HOST env var which serves the same purpose, it will default to it if finding it from git doesn't work.
For tokens, they're stored per-instance (not per-project) in ~/local/share/forgejo-cli/keys.json when you use fj auth login or fj auth add-key. Currently there is no way to set a token per-project.
I would have to create one alias for each project directory
It's intended to create an alias per-instance, i.e. one single alias for all projects on Codeberg.
Ideally, forgejo-cli is configured with git. If your projects only have a single git remote, it will figure out the instance URL and project name from that. If there's multiple remotes, it'll try to figure that out from the currently checked-out branch's remote tracking branch. If it can't do that, that's what the --host flag is for (and in turn, aliases). There is also the FJ_FALLBACK_HOST env var which serves the same purpose, it will default to it if finding it from git doesn't work. For tokens, they're stored per-instance (not per-project) in ~/local/share/forgejo-cli/keys.json when you use fj auth login or fj auth add-key. Currently there is no way to set a token per-project. > I would have to create one alias for each project directory It's intended to create an alias per-instance, i.e. one single alias for all projects on Codeberg.
👍 1
plotski commented 2025-06-21 17:47:00 +02:00
Author
Copy link
OK, thank you for the explanation.
Are there any plans to allow configuring a token per-project? What should I do if I have multiple accounts on codeberg.org?
OK, thank you for the explanation. Are there any plans to allow configuring a token per-project? What should I do if I have multiple accounts on codeberg.org?
Cyborus commented 2025-06-21 19:07:10 +02:00
Member
Copy link
Are there any plans to allow configuring a token per-project?
Not at the moment, but I'm open to it if it's something you'd need.
What should I do if I have multiple accounts on codeberg.org?
Currently there isn't really an option
> Are there any plans to allow configuring a token per-project? Not at the moment, but I'm open to it if it's something you'd need. > What should I do if I have multiple accounts on codeberg.org? Currently there isn't really an option
plotski commented 2025-06-21 19:32:48 +02:00
Author
Copy link
Yes, if you could add such a feature, that would be amazing.
Yes, if you could add such a feature, that would be amazing.
bordicon commented 2026-05-16 20:58:50 +02:00
Copy link
instead could we have the config path be configurable via environment variable?
I to also use direnv and I would like to localize fj configuration to a project versus global
instead could we have the config path be configurable via environment variable? I to also use direnv and I would like to localize fj configuration to a project versus global
Sign in to join this conversation.
No Branch/Tag specified
main
renovate/lock-file-maintenance
renovate/serde-saphyr-0.x
docs/contributing
no-port-in-refspec
login/v16.next.forgejo.org
crates-io-publish
0.5.x
compile-time-fluent
0.4.x
localization-alias-demo
api_url_field
v0.5.0
v0.4.1
v0.4.0
v0.3.0
v0.2.0
v0.1.1
v0.1.0
v0.0.4
v0.0.3
v0.0.2
v0.0.1
Labels
Clear labels[ Kind/Breaking Breaking change that won't be backward compatible
](#)[ Kind/Bug Something is not working
](#)[ Kind/Design Discussion about UI/UX design
](#)[ Kind/Documentation Documentation changes
](#)[ Kind/Enhancement Improve existing functionality
](#)[ Kind/Feature New functionality
](#)[ Kind/Security This is security issue
](#)[ Kind/Testing Issue or pull request related to testing
](#)[ Kind/Upstream This is an issue with upstream software (Forgejo) that is probably not our fault
](#)
[ Priority
Critical The priority is critical
](#)[ Priority
High The priority is high
](#)[ Priority
Low The priority is low
](#)[ Priority
Medium The priority is medium
](#)
[ Reviewed
Confirmed Issue has been confirmed
](#)[ Reviewed
Duplicate This issue or pull request already exists
](#)[ Reviewed
Invalid Invalid issue
](#)[ Reviewed
Won't Fix This issue won't be fixed
](#)
[ Status
Abandoned Somebody has started to work on this but abandoned work
](#)[ Status
Blocked Something is blocking this issue or pull request
](#)[ Status
Need More Info Feedback is required to reproduce issue or to continue work
](#)
[ Suspicious
](#)
No labels Kind/Breaking Kind/Bug Kind/Design Kind/Documentation Kind/Enhancement Kind/Feature Kind/Security Kind/Testing Kind/Upstream [ Priority
Critical ](/forgejo-contrib/forgejo-cli/issues?labels=173012) [ Priority
High ](/forgejo-contrib/forgejo-cli/issues?labels=173013) [ Priority
Low ](/forgejo-contrib/forgejo-cli/issues?labels=173015) [ Priority
Medium ](/forgejo-contrib/forgejo-cli/issues?labels=173014) [ Reviewed
Confirmed ](/forgejo-contrib/forgejo-cli/issues?labels=173007) [ Reviewed
Duplicate ](/forgejo-contrib/forgejo-cli/issues?labels=173005) [ Reviewed
Invalid ](/forgejo-contrib/forgejo-cli/issues?labels=173006) [ Reviewed
Won't Fix ](/forgejo-contrib/forgejo-cli/issues?labels=173008) [ Status
Abandoned ](/forgejo-contrib/forgejo-cli/issues?labels=173011) [ Status
Blocked ](/forgejo-contrib/forgejo-cli/issues?labels=173010) [ Status
Need More Info ](/forgejo-contrib/forgejo-cli/issues?labels=173009) Suspicious
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
Notifications Subscribe
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
forgejo-contrib/forgejo-cli#208
WritePreview
Loading…
Add table
| Rows | | | Columns | |
CancelOK
Add a link
Url Description Hint: With a URL in your clipboard, you can paste directly into the editor to create a link.
CancelOK
CancelSave
Reference in a new issue
Repository
forgejo-contrib/forgejo-cli
Title
Body
Create issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
No Yes