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
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Bug report
about: Something is broken
labels: bug
---

**Command** (redact your token):

```sh
afcli ...
```

**Expected behavior**

**Actual behavior / error output**

```
```

**Environment**
- afcli version (`afcli --version`):
- OS:
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
name: Feature request
about: Suggest a new command, flag, or API to support
labels: enhancement
---

**What would you like afcli to do?**

**Which AppsFlyer API does this relate to?** (link to the docs page if possible)

**How would you use it?** (example command line)
11 changes: 11 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## What does this PR do?

## Related issue

<!-- Closes #... or "none" -->

## Checklist

- [ ] `go test ./...` passes
- [ ] `gofmt` / `go vet` are clean
- [ ] Docs (README / --help text) updated if behavior changed
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
with:
fetch-depth: 0
- uses: actions/setup-go@v5
Expand Down
32 changes: 32 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Contributing

Thanks for your interest in improving afcli!

## Development setup

Go 1.26 or later is required.

```sh
git clone https://github.com/rie03p/appsflyer-cli.git
cd appsflyer-cli
go build -o afcli ./cmd/afcli
go test ./...
```

## Project layout

- `cmd/afcli` — entry point.
- `internal/appsflyer` — API client, one file per API family (raw data, aggregate, master, ...). No CLI dependencies.
- `internal/cli` — the cobra command tree, one file per command.

To add support for a new AppsFlyer API, add a client file in `internal/appsflyer` with a params struct and a `Client` method, then a matching command file in `internal/cli`. Both layers are tested against `httptest` servers — see the existing `_test.go` files for the pattern.

## Pull requests

- Keep each PR focused on one change.
- Run `gofmt`, `go vet ./...`, and `go test ./...` before pushing (CI enforces all three).
- Use [Conventional Commits](https://www.conventionalcommits.org/) for commit messages (`feat:`, `fix:`, `docs:`, ...) — release notes are generated from them.

## Reporting issues

Bug reports and feature requests are welcome via [GitHub issues](https://github.com/rie03p/appsflyer-cli/issues). For bugs, include the command you ran (with the token redacted) and the error output.
Loading