Skip to content

Commit

Permalink
Support for external templates
Browse files Browse the repository at this point in the history
ERK is no longer a good demonstration project because it's getting too big.
This also makes string replacement hard because if your derivative needs to
retain instructions about using ERK, the clones get strings replaced that were
needed for the instructions.

Implementation was done by creating a template system and pointing it towards
erk-basic, a stripped down ERK project with just one command and one test.

Licenses are a bit annoying in this release.  I want to go ahead and switch to a
proper license package and take the licenses out of the templates.

For now, the license had to be added to the erk-basic in order to maintain rough
parity.

Signed-off-by: Psionik K <[email protected]>
  • Loading branch information
psionic-k committed Oct 23, 2023
1 parent f113475 commit 2c42ef5
Show file tree
Hide file tree
Showing 6 changed files with 373 additions and 883 deletions.
2 changes: 1 addition & 1 deletion .github/run-shim.el
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

;; Copyright (C) 2022 Positron Solutions

;; Author: <author>
;; Author: Positron Solutions <[email protected]>

;; Permission is hereby granted, free of charge, to any person obtaining a copy of
;; this software and associated documentation files (the "Software"), to deal in
Expand Down
3 changes: 3 additions & 0 deletions docs/README.org
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
#+end_export

* Elisp Repo Kit
:PROPERTIES:
:UNNUMBERED: notoc
:END:

This repository is a kit to start a new elisp package repository on GitHub. The
package contained has commands to streamline elisp development.
Expand Down
30 changes: 15 additions & 15 deletions docs/manual.org
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ working with Elisp packages, Elisp Repo Kit provides shortcuts:

* High Level Overview

- As a repository, Elisp Repo Kit is a template for how to organize and
distribute your project.
- Elisp Repo Kit provides a scheme for how to organize and distribute your
project, which it also uses in its own repository.

- As an Elisp package, Elisp Repo Kit (erk) provides shortcuts for working on
package using the Elisp Repo Kit organization structure (as well as other
Expand Down Expand Up @@ -134,13 +134,10 @@ working with Elisp packages, Elisp Repo Kit provides shortcuts:
#+findex: erk-clone
The standalone command, ~erk-clone~ will clone without renaming.

This repo is also a [[https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template][template repository]], so you can fork without forking
(Bruce Lee).

#+findex: erk-rename
If you create via template or clone manually, it's presumed you know what
you're doing at that point. Call ~erk-rename~ on its own to rename
in these cases.
If you create via [[https://github.com/positron-solutions/erk-basic][a template]] or clone manually, it's presumed you know what
you're doing at that point. Call ~erk-rename~ on its own to rename in these
cases.

There are some customize options that cause the renaming to be transitively
consistent.
Expand All @@ -156,12 +153,14 @@ working with Elisp packages, Elisp Repo Kit provides shortcuts:
The simplest and intended way is to call ~erk-new~. It will first
ask you for:

- Choose a template
- Root directory you want to clone to
- Package name
- Package title
- Package feature
- Package prefix
- Author name
- GitHub user or organization
- Email address
- GitHub user or organization

#+findex: erk-rename-relicense
~erk-new~ also calls ~erk-rename-relicense~ to rename all of the files, string
Expand Down Expand Up @@ -482,11 +481,12 @@ overview:
will want this information in your new repository.

** Licensing, Developer Certificate of Origin
This template project is distributed with the MIT license. ~erk-new~ will also
run ~erk-rename-relicense~, which will automatically switch to the GPL3
license. *The MIT license allows re-licensing, and so this change is
compatible.* If you accept non-trivial changes to your project, it will be
very hard to change to the GPL3 later, so consider this choice.
This project and its derivative templates are distributed with an MIT
license. ~erk-new~ will also run ~erk-rename-relicense~, which will
automatically switch to the GPL3 license. *The MIT license allows
re-licensing, and so this change is compatible.* If you accept non-trivial
changes to your project, it will be very hard to change to the GPL3 later, so
consider this choice.

The new repository will also come with DCO sign-off checking on PR's. The
instructions are in the [[../CONTRIBUTING.md][CONTRIBUTING]] guide. A DCO sign-off policy will give
Expand Down
Loading

0 comments on commit 2c42ef5

Please sign in to comment.