Skip to content

Commit d949ff5

Browse files
Jonathan D.A. Jewellclaude
andcommitted
fix: Restore original README content
The previous RSR standardization commit accidentally replaced the full README content with a minimal template. This restores the original project documentation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent abb69f4 commit d949ff5

1 file changed

Lines changed: 145 additions & 53 deletions

File tree

README.adoc

Lines changed: 145 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,168 @@
1-
= branch-newspaper
2-
Jonathan D.A. Jewell <jonathan.jewell@gmail.com>
3-
:toc: macro
4-
:icons: font
5-
:source-highlighter: rouge
6-
:experimental:
7-
:url-github: https://github.com/hyperpolymath/branch-newspaper
8-
:url-gitlab: https://gitlab.com/hyperpolymath/branch-newspaper
9-
:url-bitbucket: https://bitbucket.org/hyperpolymath/branch-newspaper
10-
:url-codeberg: https://codeberg.org/hyperpolymath/branch-newspaper
1+
= Branch Newspaper
112

12-
Git branch news aggregation and changelog generator
3+
[![CI](https://github.com/hyperpolymath/branch-newspaper/actions/workflows/ci.yml/badge.svg)](https://github.com/hyperpolymath/branch-newspaper/actions/workflows/ci.yml)
4+
[![Mirror Sync](https://github.com/hyperpolymath/branch-newspaper/actions/workflows/mirror-sync.yml/badge.svg)](https://github.com/hyperpolymath/branch-newspaper/actions/workflows/mirror-sync.yml)
5+
[![CodeQL](https://github.com/hyperpolymath/branch-newspaper/actions/workflows/codeql.yml/badge.svg)](https://github.com/hyperpolymath/branch-newspaper/actions/workflows/codeql.yml)
136

14-
image:https://img.shields.io/badge/RSR-Certified-gold[RSR Certified]
15-
image:https://img.shields.io/badge/License-AGPL%20v3-blue[License]
7+
A Phoenix LiveView application for managing and distributing meeting minutes with IPFS integration for decentralized content storage.
168

17-
toc::[]
9+
== Features
1810

19-
== Overview
11+
- *Meeting Minutes Management* - Create, edit, and organize meeting minutes
12+
- *IPFS Integration* - Store content on IPFS for decentralized, immutable storage
13+
- *Real-time UI* - Phoenix LiveView for instant updates without page reloads
14+
- *Tag Organization* - Categorize minutes with tags for easy discovery
2015

21-
branch-newspaper is part of the link:https://rhodium.sh[Rhodium Standard] (RSR) ecosystem.
16+
== Tech Stack
2217

23-
Domain: *software-development*
18+
| Component | Technology |
19+
|-----------|------------|
20+
| Language | Elixir ~> 1.15 |
21+
| Framework | Phoenix 1.8.1 |
22+
| Real-time | Phoenix LiveView 1.1.0 |
23+
| Database | SQLite3 (dev) / PostgreSQL (prod) |
24+
| Storage | IPFS (Kubo) |
25+
| CSS | Tailwind CSS v4 |
2426

25-
== Installation
27+
== Prerequisites
2628

27-
[source,bash]
28-
----
29-
# Clone from GitHub (primary)
30-
git clone {url-github}
29+
- Elixir 1.15+ and Erlang/OTP 25+
30+
- Node.js 18+ (for asset compilation)
31+
- IPFS node (Kubo) running locally or accessible
3132

32-
# Or from mirrors
33-
git clone {url-gitlab}
34-
git clone {url-codeberg}
35-
----
33+
== Getting Started
3634

37-
== RSR Stack
35+
=== Development Setup
3836

39-
This project follows RSR conventions:
37+
1. *Clone the repository*
38+
```bash
39+
git clone https://github.com/hyperpolymath/branch-newspaper.git
40+
cd branch-newspaper
41+
```
4042

41-
* ✅ ReScript for frontend/logic
42-
* ✅ Deno for JS runtime
43-
* ✅ WASM for performance-critical code
44-
* ✅ Rust/OCaml/Haskell for systems/proofs
45-
* ✅ Guile/Scheme for configuration
46-
* ❌ No TypeScript
47-
* ❌ No Go
48-
* ❌ No npm
43+
2. *Install dependencies and setup database*
44+
```bash
45+
mix setup
46+
```
4947

50-
== Mirrors
48+
3. *Start the IPFS daemon* (in a separate terminal)
49+
```bash
50+
ipfs daemon
51+
```
5152

52-
[cols="1,2"]
53-
|===
54-
| Platform | URL
53+
4. *Start the Phoenix server*
54+
```bash
55+
mix phx.server
56+
# Or with interactive Elixir shell:
57+
iex -S mix phx.server
58+
```
5559

56-
| GitHub (primary) | {url-github}
57-
| GitLab | {url-gitlab}
58-
| Bitbucket | {url-bitbucket}
59-
| Codeberg | {url-codeberg}
60-
|===
60+
5. *Visit the application*
6161

62-
== License
62+
Open [http://localhost:4000](http://localhost:4000) in your browser.
63+
64+
=== Running Tests
65+
66+
```bash
67+
= Run all tests
68+
mix test
69+
70+
= Run with coverage
71+
mix test --cover
72+
73+
= Run the precommit checks (format, compile warnings, tests)
74+
mix precommit
75+
```
76+
77+
=== Code Quality
78+
79+
```bash
80+
= Check formatting
81+
mix format --check-formatted
82+
83+
= Run all lint checks
84+
./ci-scripts/lint.sh
85+
```
86+
87+
== Configuration
88+
89+
=== Environment Variables
90+
91+
| Variable | Description | Default |
92+
|----------|-------------|---------|
93+
| `SECRET_KEY_BASE` | Phoenix secret key | (generated) |
94+
| `DATABASE_URL` | Database connection string | SQLite file |
95+
| `PHX_HOST` | Production hostname | localhost |
96+
| `PORT` | HTTP port | 4000 |
97+
| `IPFS_API_URL` | IPFS API endpoint | http://localhost:5001/api/v0 |
98+
99+
See [SECRETS.md](SECRETS.md) for complete secrets documentation.
100+
101+
== Project Structure
63102

64-
Licensed under AGPL-3.0-or-later OR LicenseRef-Palimpsest-0.5.
103+
```
104+
branch-newspaper/
105+
├── assets/ # Frontend assets (JS, CSS)
106+
├── ci-scripts/ # Shared CI/CD scripts
107+
├── config/ # Application configuration
108+
├── lib/
109+
│ ├── branch_newspaper/ # Business logic
110+
│ │ ├── content/ # Content domain
111+
│ │ └── services/ # External services (IPFS)
112+
│ └── branch_newspaper_web/ # Web interface
113+
│ ├── components/ # UI components
114+
│ ├── controllers/ # HTTP controllers
115+
│ └── live/ # LiveView modules
116+
├── priv/ # Private application files
117+
└── test/ # Test files
118+
```
65119

66-
See link:LICENSE[LICENSE] for details.
120+
== Documentation
121+
122+
- [ROADMAP.adoc](ROADMAP.adoc) - Development roadmap and MVP plan
123+
- [TODO.md](TODO.md) - Task backlog and improvements
124+
- [SECRETS.md](SECRETS.md) - Secrets and configuration guide
125+
- [AGENTS.md](AGENTS.md) - AI coding guidelines
126+
127+
== CI/CD
128+
129+
This project uses unified CI/CD that runs on both GitHub Actions and GitLab CI:
130+
131+
- *Lint* - Code formatting and static analysis
132+
- *Test* - ExUnit tests across multiple Elixir versions
133+
- *Build* - Release compilation for deployment
134+
- *Mirror* - Automatic sync between GitHub and GitLab
135+
136+
=== Test Matrix
137+
138+
| Elixir | OTP | Status |
139+
|--------|-----|--------|
140+
| 1.15.0 | 25.3 | Minimum supported |
141+
| 1.15.7 | 26.2 | Primary |
142+
| 1.16.0 | 26.2 | Latest |
67143

68144
== Contributing
69145

70-
See link:CONTRIBUTING.adoc[CONTRIBUTING.adoc].
146+
1. Fork the repository
147+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
148+
3. Run the precommit checks (`mix precommit`)
149+
4. Commit your changes (`git commit -m 'Add amazing feature'`)
150+
5. Push to the branch (`git push origin feature/amazing-feature`)
151+
6. Open a Pull Request
152+
153+
== Repository Mirrors
154+
155+
- *Primary (GitHub)*: https://github.com/hyperpolymath/branch-newspaper
156+
- *Mirror (GitLab)*: https://gitlab.com/maa-framework/3-applications/branch-newspaper
157+
158+
Changes pushed to GitHub are automatically mirrored to GitLab.
159+
160+
== License
161+
162+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
71163

72-
== Metadata
164+
== Acknowledgments
73165

74-
* Domain: software-development
75-
* Framework: RSR (Rhodium Standard Repository)
76-
* Dublin Core: link:.well-known/dc.xml[.well-known/dc.xml]
166+
- [Phoenix Framework](https://phoenixframework.org/)
167+
- [IPFS](https://ipfs.tech/)
168+
- Part of the [MAA Framework](https://gitlab.com/maa-framework) project

0 commit comments

Comments
 (0)