Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 104 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
<!--
SPDX-License-Identifier: MPL-2.0-or-later
-->

# Contributing to bitfuckit

Thank you for your interest in contributing to bitfuckit - the
community-built Bitbucket CLI that Atlassian never made!

## Language Policy

bitfuckit follows the hyperpolymath [Rhodium
Standard](https://github.com/hyperpolymath/rhodium-standard-repositories):

| Language | Use Case | Notes |
|------------------|--------------------------|---------------------------------|
| **Ada 2012** | Primary application code | SPARK verified where possible |
| **Nickel** | Configuration | For complex config (config.ncl) |
| **Bash/POSIX** | Scripts, automation | Keep minimal |
| **Guile Scheme** | State/meta files | STATE.scm, META.scm, etc. |

**BANNED**: TypeScript, Node.js, npm, Go, Python (except SaltStack)

## Getting Started

1. Fork the repository

2. Clone your fork:

``` bash
git clone https://github.com/YOUR_USERNAME/bitfuckit.git
cd bitfuckit
```

<!-- -->

1. Install dependencies:

``` bash
# Fedora
sudo dnf install gcc-gnat gprbuild

# Debian/Ubuntu
sudo apt install gnat gprbuild
```

<!-- -->

1. Build:

``` bash
gprbuild -P bitfuckit.gpr
```

## Code Style

- Ada 2012 style guide

- 3-space indentation

- SPDX license header on all source files

- Use SPARK Mode where possible for specification files

## Submitting Changes

1. Create a feature branch:

``` bash
git checkout -b feature/my-feature
```

<!-- -->

1. Make your changes

2. Ensure the build succeeds:

``` bash
gprbuild -P bitfuckit.gpr
bin/bitfuckit --help
```

<!-- -->

1. Commit with a descriptive message

2. Push and create a pull request

## Adding New Commands

1. Add the command handling in `src/bitfuckit.adb`

2. If API calls needed, add to `src/bitbucket_api.adb`

3. Update the help text in `Print_Usage`

4. Add shell completions in `completions/`

5. Update the man page in `doc/bitfuckit.1`

## Questions?

Open an issue at <https://github.com/hyperpolymath/bitfuckit/issues>
2 changes: 1 addition & 1 deletion .github/DISCUSSION_TEMPLATE/welcome.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ body:
## Contributing

We welcome contributions! This project is written in Ada/SPARK for reliability.
Check out [CONTRIBUTING.adoc](../CONTRIBUTING.adoc) to get started.
Check out [../../.github/CONTRIBUTING.md](../../.github/CONTRIBUTING.md) to get started.

## Code of Conduct

Expand Down
92 changes: 0 additions & 92 deletions CONTRIBUTING.adoc

This file was deleted.

2 changes: 1 addition & 1 deletion ROADMAP.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ v1.0.0 = Feature parity with gh/glab + Production-ready

== Contributing

See link:CONTRIBUTING.adoc[CONTRIBUTING.adoc].
See link:.github/CONTRIBUTING.md[.github/CONTRIBUTING.md].

Priority areas:
1. GraphQL server completion
Expand Down
2 changes: 1 addition & 1 deletion RSR_OUTLINE.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ git init
sed -i 's/RSR-template-repo/my-project/g' Justfile guix.scm README.adoc

# Enter development environment
guix shell -D -f guix.scm
guix shell -D -f build/guix.scm

# Validate compliance
just validate-rsr
Expand Down
2 changes: 1 addition & 1 deletion config.ncl
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@
release = ["ci", "package-all", "mirror-self"],
},

required_files = ["README.adoc", "LICENSE", "SECURITY.md", "CONTRIBUTING.adoc"],
required_files = ["README.adoc", "LICENSE", "SECURITY.md", ".github/CONTRIBUTING.md"],
},

# ============================================================================
Expand Down
2 changes: 1 addition & 1 deletion docs/wiki/Installation.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ guix install bitfuckit

[source,bash]
----
guix install -f guix.scm
guix install -f build/guix.scm
----

== Shell Completions
Expand Down
64 changes: 0 additions & 64 deletions guix.scm

This file was deleted.

2 changes: 1 addition & 1 deletion mustfile
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ security = ["verify", "lint.secrets"]
README = "README.adoc"
LICENSE = "LICENSE"
SECURITY = "SECURITY.md"
CONTRIBUTING = "CONTRIBUTING.adoc"
CONTRIBUTING = ".github/CONTRIBUTING.md"
CHANGELOG = "CHANGELOG.adoc"
ROADMAP = "ROADMAP.adoc"

Expand Down
Loading