Skip to content

Commit afcc7aa

Browse files
authored
Chore: Project Governance (#8)
* Add issue template configuration with contact links * Create bug report template for UnauthScout Added a bug report template for UnauthScout with fields for contact details, description, provider, command executed, version, output, and agreement to the Code of Conduct. * Add feature request issue template This file defines a template for feature requests, including sections for problem statements, proposed solutions, impacted areas, alternatives considered, trade-offs, success metrics, and agreement to the Code of Conduct. * Add workflow to sync documentation to GitHub Wiki This workflow automates the synchronization of documentation from the main branch to the GitHub Wiki. It includes steps for checking out the source code, setting up environment variables, cloning the wiki repository, syncing content with rsync, and committing the changes. * Add GitLab CI workflow for wiki publishing * Create CONTRIBUTING.md with contribution guidelines Added comprehensive contribution guidelines for the UnauthScout project, covering prerequisites, development process, code standards, and issue reporting. * Create Home.md for UnauthScout documentation Added initial documentation for UnauthScout, including installation instructions, usage notes, and ethical guidelines. * Add footer with license and issue reporting links * Add sidebar navigation for UnauthScout documentation * Create home.md for UnauthScout documentation Added initial documentation for UnauthScout, including installation instructions, usage guidelines, and community support links. * Fix missing newline at end of home.md * Add sidebar navigation for UnauthScout documentation * Delete docs/pt/content/osint-flow.md * Adicionar documento sobre fluxo OSINT do UnauthScout Este documento descreve o modelo mental e o fluxo operacional do UnauthScout, detalhando o processo de reconhecimento não autenticado em plataformas públicas. * Adiciona guia de configuração e solução de problemas Este documento descreve como configurar o UnauthScout, suas dependências de tempo de execução e como resolver erros comuns durante a execução. * Delete docs/pt/content/setup.md * Add empty redirects.yml file
1 parent 9548cde commit afcc7aa

14 files changed

Lines changed: 800 additions & 1 deletion

File tree

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Bug Report
2+
description: Report a reproducible bug in UnauthScout
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
type: "Bug"
6+
projects: ["rmottanet/7"] # projeto pelo número
7+
assignees:
8+
- rmottanet
9+
body:
10+
- type: markdown
11+
attributes:
12+
value: |
13+
Thanks for helping improve **UnauthScout**.
14+
Please provide as much detail as possible.
15+
16+
- type: input
17+
id: contact
18+
attributes:
19+
label: Contact Details
20+
description: Optional way to reach you for follow-up.
21+
placeholder: email@example.com
22+
validations:
23+
required: false
24+
25+
- type: textarea
26+
id: description
27+
attributes:
28+
label: What happened?
29+
description: What did you observe, and what did you expect instead?
30+
placeholder: Describe the bug clearly and concisely.
31+
validations:
32+
required: true
33+
34+
- type: dropdown
35+
id: provider
36+
attributes:
37+
label: Provider
38+
description: Which provider were you querying?
39+
options:
40+
- GitHub
41+
- GitLab
42+
- Both
43+
validations:
44+
required: true
45+
46+
- type: input
47+
id: command
48+
attributes:
49+
label: Command executed
50+
description: Exact command used to trigger the issue.
51+
placeholder: unauthscout <username> [--raw]
52+
validations:
53+
required: true
54+
55+
- type: input
56+
id: version
57+
attributes:
58+
label: UnauthScout version
59+
description: Version tag, commit hash or branch name.
60+
placeholder: v0.1.0, main, a1b2c3d
61+
validations:
62+
required: true
63+
64+
- type: textarea
65+
id: output
66+
attributes:
67+
label: Relevant output / logs
68+
description: Paste CLI output or error messages.
69+
render: shell
70+
validations:
71+
required: false
72+
73+
- type: checkboxes
74+
id: terms
75+
attributes:
76+
label: Code of Conduct
77+
description: By submitting this issue, you agree to follow the Code of Conduct.
78+
options:
79+
- label: I agree to follow this project's Code of Conduct
80+
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: rmotta.net:~#
4+
url: https://github.com/rmottanet
5+
about: Github Profile link.
6+
- name: WS2GIT Project
7+
url: https://github.com/users/rmottanet/projects/7
8+
about: Github Projects link.
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
name: Feature Request
2+
description: Propose a new feature or improvement
3+
title: "[Feature]: "
4+
labels: ["enhancement"]
5+
type: "Feature"
6+
projects: ["rmottanet/7"] # projeto pelo número
7+
assignees:
8+
- rmottanet
9+
10+
body:
11+
- type: markdown
12+
attributes:
13+
value: |
14+
Feature requests should align with UnauthScout design principles:
15+
unauthenticated, minimal, provider-focused, schema-driven.
16+
17+
- type: textarea
18+
id: problem
19+
attributes:
20+
label: Problem statement
21+
description: What limitation or problem does this feature solve?
22+
placeholder: Describe the problem clearly.
23+
validations:
24+
required: true
25+
26+
- type: textarea
27+
id: proposal
28+
attributes:
29+
label: Proposed solution
30+
description: Describe the feature or change you are proposing.
31+
placeholder: Be explicit and concrete.
32+
validations:
33+
required: true
34+
35+
- type: checkboxes
36+
id: scope
37+
attributes:
38+
label: Scope / Impacted areas
39+
description: Select all areas impacted by this feature.
40+
options:
41+
- label: CLI / UX
42+
- label: Provider – GitHub
43+
- label: Provider – GitLab
44+
- label: Cross-provider (shared logic)
45+
- label: Schemas / Output contracts
46+
- label: Documentation
47+
- label: Tests
48+
- label: Internal / Refactor
49+
validations:
50+
required: true
51+
52+
- type: input
53+
id: scope_extra
54+
attributes:
55+
label: Additional scope (optional)
56+
description: Any other area impacted not listed above.
57+
placeholder: e.g. New provider, tooling, CI
58+
validations:
59+
required: false
60+
61+
- type: textarea
62+
id: alternatives
63+
attributes:
64+
label: Alternatives considered
65+
description: Any alternative approaches or trade-offs?
66+
validations:
67+
required: false
68+
69+
- type: textarea
70+
id: tradeoffs
71+
attributes:
72+
label: Trade-offs acknowledged
73+
description: What are the known downsides, limitations, or risks of this approach?
74+
placeholder: e.g. Increased API calls, reduced portability, partial provider support
75+
validations:
76+
required: true
77+
78+
- type: textarea
79+
id: success_metrics
80+
attributes:
81+
label: Success metrics
82+
description: How will we know this feature is successful?
83+
placeholder: e.g. New CLI flag documented, schema updated, test coverage added
84+
validations:
85+
required: true
86+
87+
- type: checkboxes
88+
id: terms
89+
attributes:
90+
label: Code of Conduct
91+
description: By submitting this issue, you agree to follow the Code of Conduct.
92+
options:
93+
- label: I agree to follow this project's Code of Conduct
94+
required: true
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: "Sync Documentation to Github Wiki"
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- main
8+
paths:
9+
- 'docs/en/content/**'
10+
11+
jobs:
12+
deploy-wiki:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout Source Code
16+
uses: actions/checkout@v4
17+
18+
- name: Setup Environment Variables
19+
run: |
20+
# Garantimos que o SOURCE_DIR termina com / para copiar o CONTEÚDO
21+
echo "SOURCE_DIR=docs/en/content/" >> $GITHUB_ENV
22+
echo "WIKI_DIR=wiki_repo_folder" >> $GITHUB_ENV
23+
echo "WIKI_URL=https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.wiki.git" >> $GITHUB_ENV
24+
25+
- name: Clone Wiki Repository
26+
run: |
27+
git clone ${{ env.WIKI_URL }} ${{ env.WIKI_DIR }}
28+
29+
- name: Sync Content with Rsync
30+
run: |
31+
# -a: modo arquivo (recursivo e preserva permissões)
32+
# -v: verbose para vermos no log o que está acontecendo
33+
# --delete: remove na wiki o que não existe na origem
34+
# --exclude '.git/': essencial para não quebrar o repositório destino
35+
rsync -av --delete --exclude '.git/' ${{ env.SOURCE_DIR }} ${{ env.WIKI_DIR }}/
36+
37+
- name: Commit and Push to Wiki
38+
working-directory: ${{ env.WIKI_DIR }}
39+
run: |
40+
git config user.name "github-actions[bot]"
41+
git config user.email "github-actions[bot]@users.noreply.github.com"
42+
43+
git add .
44+
45+
if git diff-index --quiet HEAD; then
46+
echo "Nenhuma alteração para sincronizar."
47+
else
48+
git commit -m "docs: sync wiki content from ${{ github.sha }}"
49+
git push origin master || git push origin main
50+
fi

.gitlab/workflows/.gitlab-ci.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
stages:
2+
- deploy
3+
4+
publish-wiki:
5+
stage: deploy
6+
image: alpine:latest
7+
variables:
8+
SOURCE_DIR: "docs/pt/content/"
9+
WIKI_DIR: "wiki_temp_folder"
10+
only:
11+
refs:
12+
- main
13+
changes:
14+
- "docs/pt/content/**/*"
15+
before_script:
16+
- apk add --no-cache git rsync openssh
17+
script:
18+
# 1. Validação de segurança: Verifica se o token existe
19+
- |
20+
if [ -z "${GITLAB_TOKEN}" ]; then
21+
echo "ERRO: A variável GITLAB_TOKEN está vazia. Verifique Settings > CI/CD > Variables."
22+
exit 1
23+
fi
24+
25+
# 2. Configura a URL. Usar 'project_token' como usuário
26+
- WIKI_URL="https://project_token:${GITLAB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.wiki.git"
27+
28+
# 3. Clone com tratamento de erro
29+
- echo "Iniciando clone da wiki..."
30+
- git clone "$WIKI_URL" "$WIKI_DIR" || { echo "Falha ao clonar a wiki. Verifique permissões do token."; exit 1; }
31+
32+
# 4. Synch
33+
- rsync -av --delete --exclude '.git/' "$SOURCE_DIR" "$WIKI_DIR/"
34+
35+
# 5. Push
36+
- cd "$WIKI_DIR"
37+
- git config user.name "GitLab CI Bot"
38+
- git config user.email "gitlab-ci@${CI_SERVER_HOST}"
39+
- git add .
40+
- |
41+
if git diff-index --quiet HEAD; then
42+
echo "Nenhuma alteração para sincronizar."
43+
else
44+
git commit -m "docs: sync from commit $CI_COMMIT_SHORT_SHA"
45+
# Tenta push para main ou master (depende da versão do GitLab)
46+
git push origin HEAD:main || git push origin HEAD:master
47+
fi

0 commit comments

Comments
 (0)