mirror of
https://github.com/Radarr/Radarr
synced 2026-01-24 08:23:54 +01:00
feat: initial project branding and setup
This commit is contained in:
parent
4c00729183
commit
b6837de9f4
3 changed files with 105 additions and 10 deletions
95
CLAUDE.md
Normal file
95
CLAUDE.md
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
# Logarr Development
|
||||
|
||||
All-in-one media manager (movies, books, audiobooks). Forked from Radarr.
|
||||
Greek: λόγος (logos) = "word, reason"
|
||||
|
||||
<critical_rules>
|
||||
|
||||
CRITICAL: Zero AI indicators in code, commits, docs pushed to GitHub
|
||||
CRITICAL: Keep Radarr movie functionality working at all times
|
||||
CRITICAL: Hierarchical monitoring is foundational - design it in, don't bolt on
|
||||
REQUIRED: Follow global CLAUDE.md coding standards
|
||||
REQUIRED: Use sub-agents for exploration and research
|
||||
|
||||
</critical_rules>
|
||||
|
||||
## Project Info
|
||||
|
||||
| Item | Value |
|
||||
|------|-------|
|
||||
| Fork | github.com/Cody-k/logarr |
|
||||
| Upstream | github.com/Radarr/Radarr |
|
||||
| Stack | C# .NET 6.0, React, TypeScript |
|
||||
| Goal | Unified media manager for movies, books, audiobooks |
|
||||
|
||||
## Quick Commands
|
||||
|
||||
```bash
|
||||
# Build
|
||||
./build.sh --backend --frontend
|
||||
|
||||
# Run locally
|
||||
dotnet run --project src/Radarr
|
||||
|
||||
# Frontend dev
|
||||
cd frontend && yarn install && yarn start
|
||||
|
||||
# Docker
|
||||
docker build -t logarr .
|
||||
```
|
||||
|
||||
## Architecture Goals
|
||||
|
||||
### Phase 1: Foundation
|
||||
- Generalize database schema (Movies → MediaItems)
|
||||
- Add MediaType discriminator
|
||||
- Implement hierarchical monitoring (Author → Series → Item)
|
||||
|
||||
### Phase 2: Multi-Media
|
||||
- Add book qualities (EPUB, MOBI, PDF)
|
||||
- Add audiobook qualities (M4B, MP3)
|
||||
- Port metadata providers from Akouarr/Bookshelf
|
||||
|
||||
### Phase 3: UI
|
||||
- Unified dashboard with type filters
|
||||
- Type-specific detail views
|
||||
- Shared components with media badges
|
||||
|
||||
## Key Files
|
||||
|
||||
```
|
||||
src/
|
||||
├── NzbDrone.Common/EnvironmentInfo/BuildInfo.cs # App name
|
||||
├── NzbDrone.Core/
|
||||
│ ├── Movies/ # → MediaItems
|
||||
│ ├── Qualities/ # Quality definitions
|
||||
│ └── Localization/Core/en.json # UI strings
|
||||
├── Radarr.Api.V3/ # REST API
|
||||
└── frontend/src/ # React UI
|
||||
```
|
||||
|
||||
## Migration Notes
|
||||
|
||||
### From Akouarr
|
||||
Features to port:
|
||||
- Narrator field on editions
|
||||
- Duration tracking
|
||||
- Audiobook qualities (MP3, M4B, FLAC)
|
||||
- Batch query patterns
|
||||
- Analytics dashboard
|
||||
- MyAnonaMouse indexer
|
||||
|
||||
### From Radarr
|
||||
Keep intact:
|
||||
- Movie tracking and monitoring
|
||||
- TMDB metadata integration
|
||||
- Quality profile system
|
||||
- Download client integration
|
||||
- Indexer framework
|
||||
|
||||
## Development Standards
|
||||
|
||||
- Match existing codebase patterns
|
||||
- No placeholder code
|
||||
- Test changes before committing
|
||||
- Keep Radarr compatibility during development
|
||||
|
|
@ -26,7 +26,7 @@ static BuildInfo()
|
|||
Release = $"{Version}-{Branch}";
|
||||
}
|
||||
|
||||
public static string AppName { get; } = "Radarr";
|
||||
public static string AppName { get; } = "Logarr";
|
||||
|
||||
public static Version Version { get; }
|
||||
public static string Branch { get; }
|
||||
|
|
|
|||
|
|
@ -798,12 +798,12 @@
|
|||
"ImportListStatusCheckSingleClientMessage": "Lists unavailable due to failures: {importListNames}",
|
||||
"ImportLists": "Import Lists",
|
||||
"ImportListsLoadError": "Unable to load Import Lists",
|
||||
"ImportListsRadarrSettingsApiKeyHelpText": "API Key of the {appName} instance to import from (Radarr 3.0 or higher)",
|
||||
"ImportListsRadarrSettingsFullUrl": "Full URL",
|
||||
"ImportListsRadarrSettingsFullUrlHelpText": "URL, including port, of the {appName} instance to import from (Radarr 3.0 or higher)",
|
||||
"ImportListsRadarrSettingsQualityProfilesHelpText": "Quality Profiles from the source instance to import from",
|
||||
"ImportListsRadarrSettingsRootFoldersHelpText": "Root Folders from the source instance to import from",
|
||||
"ImportListsRadarrSettingsTagsHelpText": "Tags from the source instance to import from",
|
||||
"ImportListsLogarrSettingsApiKeyHelpText": "API Key of the {appName} instance to import from (Logarr 3.0 or higher)",
|
||||
"ImportListsLogarrSettingsFullUrl": "Full URL",
|
||||
"ImportListsLogarrSettingsFullUrlHelpText": "URL, including port, of the {appName} instance to import from (Logarr 3.0 or higher)",
|
||||
"ImportListsLogarrSettingsQualityProfilesHelpText": "Quality Profiles from the source instance to import from",
|
||||
"ImportListsLogarrSettingsRootFoldersHelpText": "Root Folders from the source instance to import from",
|
||||
"ImportListsLogarrSettingsTagsHelpText": "Tags from the source instance to import from",
|
||||
"ImportListsSettingsSummary": "Import from another {appName} instance or Trakt lists and manage list exclusions",
|
||||
"ImportListsTraktSettingsAdditionalParameters": "Additional Parameters",
|
||||
"ImportListsTraktSettingsAdditionalParametersHelpText": "Additional Trakt API parameters",
|
||||
|
|
@ -859,7 +859,7 @@
|
|||
"IncludeHealthWarnings": "Include Health Warnings",
|
||||
"IncludePopular": "Include Popular",
|
||||
"IncludePopularMoviesHelpText": "Include popular movies on TMDb",
|
||||
"IncludeRadarrRecommendations": "Include {appName} Recommendations",
|
||||
"IncludeLogarrRecommendations": "Include {appName} Recommendations",
|
||||
"IncludeRecommendationsHelpText": "Include {appName} recommended movies in discovery view",
|
||||
"IncludeTrending": "Include Trending",
|
||||
"IncludeTrendingMoviesHelpText": "Include trending movies on TMDb",
|
||||
|
|
@ -1547,7 +1547,7 @@
|
|||
"QueueLoadError": "Failed to load Queue",
|
||||
"Queued": "Queued",
|
||||
"QuickImport": "Move Automatically",
|
||||
"RadarrTags": "{appName} Tags",
|
||||
"LogarrTags": "{appName} Tags",
|
||||
"Rating": "Rating",
|
||||
"Ratings": "Ratings",
|
||||
"ReadTheWikiForMoreInformation": "Read the Wiki for more information",
|
||||
|
|
@ -1686,7 +1686,7 @@
|
|||
"Restart": "Restart",
|
||||
"RestartLater": "I'll restart later",
|
||||
"RestartNow": "Restart Now",
|
||||
"RestartRadarr": "Restart {appName}",
|
||||
"RestartLogarr": "Restart {appName}",
|
||||
"RestartReloadNote": "Note: {appName} will automatically restart and reload the UI during the restore process.",
|
||||
"RestartRequiredHelpTextWarning": "Requires restart to take effect",
|
||||
"RestartRequiredToApplyChanges": "{appName} requires a restart to apply changes, do you want to restart now?",
|
||||
|
|
|
|||
Loading…
Reference in a new issue