Files
ADconsle/docs/publishing.md
T
kzbkowskiandClaude Sonnet 5 1126d96271
CI / PHP 8.2 (push) Failing after 2m46s
CI / PHP 8.3 (push) Failing after 59s
CI / PHP 8.4 (push) Failing after 1m7s
ADconsole v1.0.0
First public release.

- docs: document the audit log, user offboarding, CSV export and the
  "require a reason for destructive actions" setting across README, docs/
  and CLAUDE/AGENTS.md; note retention for panel_audit
- docs: fill the publishing placeholders (repo URL, security contact,
  issue-template links) and add a semantic-versioning policy
- move agent/contributor context into CLAUDE/ (AGENTS.md + a README);
  root CLAUDE.md is now a thin @-import pointer
- add a favicon (shield-lock, matching the login screen) to the login
  page and the app layout
- CHANGELOG: promote [Unreleased] to [1.0.0]; keep the earlier internal
  build as [0.1.0]

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UfuvfwexztdS7LDpGuKsuK
2026-09-08 23:14:39 +02:00

3.8 KiB

Publishing ADconsole to a Git host

How this working tree was turned into the public repository, and the checklist to follow if you re-publish it somewhere else (a fork, a mirror, a different host).

Canonical repository: https://gitea.kzbikowski.pl/kzbkowski/ADconsle (self-hosted Gitea). The first public tag is v1.0.0.

1. Placeholders — all filled for the canonical repo

If you re-publish under a different owner/host, revisit these:

File Was Now / put
README.md, docs/installation.md, docs/development.md <your-fork-url> in the git clone lines https://gitea.kzbikowski.pl/kzbkowski/ADconsle.git
SECURITY.md <SET A SECURITY CONTACT HERE> mail@kzbikowski.pl
.github/ISSUE_TEMPLATE/config.yml https://github.com/OWNER/REPO/... The repo's Gitea issue/wiki URLs
LICENSE 2026 Kacper Żbikowski Copyright year + holder, if different
lang/{pl,en}/pages.php → author.* Kacper Żbikowski Author/maintainer shown on the in-app About page
composer.json adconsole/adconsole Your package name (optional; nothing depends on it)

tests/Feature/Pages/AboutPageTest.php asserts the author name and Copyright (c) <year> <name> — if you change pages.php author, update that test too.

2. Confirm nothing sensitive is tracked

Everything below is already covered by .gitignore / .dockerignore — verify none of it slipped in:

  • .env, .env.backup, .env.production, .env.*.local
  • storage/app/panel_settings.json and *.migrated
  • vendor/, node_modules/, public/build/, public/hot/
  • storage/ runtime (logs, sessions, framework cache) — only the .gitignore keep-files should be tracked
  • docker/compose.override.yaml
  • IDE / agent dirs (.idea/, .vscode/, .claude/, …)
# Dry-run: what would a fresh repo add?
git init -q _probe && git --git-dir=_probe/.git --work-tree=. add -An | grep -Ei '(^add ...env$|vendor/|node_modules/|storage/(logs|framework)/.+/|panel_settings\.json)'
rm -rf _probe
# No output = clean.

Also grep for lab-specific values before the first push:

grep -rniE 'YOUR-DOMAIN|internal-hostname|real-ip' --exclude-dir=vendor --exclude-dir=node_modules .

3. Green build

composer install
cp .env.example .env && php artisan key:generate
php artisan migrate            # against a throwaway SQLite/MySQL
php artisan test               # 40+ pass (the DEPR tag is noise)
vendor/bin/pint --test         # style clean

4. Create the repository

This tree started life inside an unrelated parent checkout, so it is published as a fresh repo scoped to just this folder:

cd /path/to/adconsole
git init -b main
git add .
git status                     # sanity-check the file list
git commit -m "ADconsole v1.0.0"
git remote add origin https://gitea.kzbikowski.pl/kzbkowski/ADconsle.git
git push -u origin main
git tag -a v1.0.0 -m "ADconsole v1.0.0"
git push origin v1.0.0

5. On the Git host

  • Set the repository description and topics: active-directory, ldap, laravel, ldaprecord, admin-panel, self-hosted.
  • Enable Issues. Point the "Question / help" contact link at the repo's issues (Gitea has no Discussions).
  • The GitHub-format templates in .github/ (issue/PR templates, the Pint + PHPUnit CI workflow on PHP 8.2/8.3/8.4) are read by Gitea Actions too if Actions is enabled on the instance; otherwise they are harmless.
  • Cut a release from the v1.0.0 tag and paste the matching CHANGELOG.md section as the notes.

6. First-deploy sanity (for whoever installs it)

Point them at installation.md (bare metal) or deployment.md (Docker), and active-directory.md for the service account and delegation. troubleshooting.md covers the usual first-run stumbles.